CN1119745C - Method of emulating shift register using RAM - Google Patents
Method of emulating shift register using RAM Download PDFInfo
- Publication number
- CN1119745C CN1119745C CN 98810664 CN98810664A CN1119745C CN 1119745 C CN1119745 C CN 1119745C CN 98810664 CN98810664 CN 98810664 CN 98810664 A CN98810664 A CN 98810664A CN 1119745 C CN1119745 C CN 1119745C
- Authority
- CN
- China
- Prior art keywords
- ram
- register
- word
- shift register
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/10—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/08—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations, the intermediate ones not being accessible for either enqueue or dequeue operations, e.g. using a shift register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2205/00—Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F2205/10—Indexing scheme relating to groups G06F5/10 - G06F5/14
- G06F2205/104—Delay lines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Executing Machine-Instructions (AREA)
Abstract
A method using a RAM (10) and a short shift register (20) to emulate a long shift register to store a stream of incoming bits. A pointer points to one of the RAM registers. To store an incoming bit, the contents of the RAM register pointed to by the pointer are written to the shift register (20) and shifted by one bit, the incoming bit is stored in the location in the shift register (20) freed up by the shift operation, the updated contents of the shift register (20) are written back to the RAM register pointed to by the pointer, and the pointer is incremented.
Description
The present invention relates to digital computation, be specifically related to a kind of method with a random access register (RAM) and a shift register of growing very much of a short shift register emulation.
In many application, need to handle in real time an incoming bit stream.For example, may need for an incoming bit stream provides a finite impulse response filter, its each coefficient is an independent position.The k-factor of wave filter is expressed as { C
k(k=0~K-1), the bit table of incoming bit stream (indefinite length) be shown Xn}, and the output that this means wave filter be one the set of Yn} is shown below:
The computing of expression is the XOR computing.
Realize that the direct method of this wave filter provides a register-stored coefficient { C that the K position is long
k, the shift register storage input bit sequence { X that the K position is long
k.When each new bit arrival, the content of shift register moves one to accept new input position.Note automatically having deleted the old input position of K position before, new input position here.Between each new input position arrives, the content in coefficient register and the shift register is carried out inner product calculation, so that get filtering output to the end.
This direct method defective is wave filter for length available, and (for example, K=1024), the shift register of a respective length of structure is too expensive and infeasible in processor chips.Therefore, generally believing needs a kind of method of using expensive storage device such as RAM emulating shift register, and will bring huge benefit.
According to the present invention, a kind of method of handling continuous input bit is provided, comprise step: (a) provide: (i) RAM with a plurality of registers, word of each register-stored, all words are isometric, (ii) one is waited the shift register of being longer than several words at least, (iii) a pointer; (b) with a register among the pointer initialization sensing RAM; (c) for each i position input group: (i) word that will deposit the register of pointer indication in writes shift register, (ii) with word mobile j position in shift register, (iii) input group in j position is write shift register, produce the register that word after a word that is positioned at the renewal of shift register (iv) will upgrade deposits the pointer indication in thus.(v) increase progressively pointer.
RAM is made up of one group of register that can independently address, and each register has different addresses, and wherein the word of length-specific (special in 8,16,32 or 64) is also searched in storage subsequently.Key of the present invention be to use one by the storer of word addressing so that realize efficient storage when independently input bit arrives continuously.This point is also by providing a shift register and the pointer to the ram register geocoding of lacking (word length) relatively to realize.Pointer is initialised and points to a ram register.When each input position arrives, be stored in by the word in the ram register of pointer indication and be written into shift register, moving one is that the position is abdicated in new input position, and writes back to its searched ram register.Pointer increases progressively to point to next ram register.Note " increasing progressively and " define circularly at this: a pointer that points to last ram register is increased progressively and will make first ram register of pointed of pointer.Notice that the input bit backward is stored among the RAM, as hereinafter describing in detail.
The present invention is described with reference to the drawings in this mode with example, as shown in the figure:
The FIG.1 explanation is in the RAM that begins to locate of an input bit memory cycle;
N-bit shift register of FIG.2A and 2B explanation is in two different stages of input bit memory cycle.
The FIG.3 explanation is in the RAM of the ending phase of input bit memory cycle.
The present invention is a kind of method with a shift register of growing very much of RAM emulation.Especially, the present invention can be used for providing a finite impulse response filter to a sequence bits, and the order of inverted sequence bit.
Describe with reference to the accompanying drawings and accordingly, may be easier to understand the principle and the operation of shift register emulation of the present invention.
Referring to diagram, Fig. 1 represents a RAM10 that M ram register arranged, from R
0To R
M-1, each can store the N position, and total volume is the NM position, at this moment NM position X
nTo X
N-NM+1Incoming bit stream be stored according to the present invention.The input bit of Dao Daing earlier, X
N-NM+1Be stored in ram register R
0(N-1) position, the input bit X of Dao Daing next
N-NM+2Be stored in ram register R
1(N-1) position, by that analogy.The bit X of up-to-date arrival
n, be stored in ram register R
M-1The 0th position.Pointer P points to ram register R
0, wherein and arrive also stored input bit X the earliest in (N-1) location storage
N-NM+1
Next input bit X
N+1Arrive, begin the next input bit memory cycle.The first step is with the ram register R by pointer P indication
0Content write N-bit shift register 20.Fig. 2 A represents the state of N-bit shift register 20 when this EOS.Second step was that the bit with N-bit shift register 20 moves one, delete bit X
N-NM+1, be new input bit X
N+1Vacate the 0th position of N-bit shift register 20.The 3rd step was to be positioned at the new input bit X of the 0th position
N+1Deposit N-bit shift register 20 in.The state of N-bit shift register 20 when Fig. 2 B represents this EOS.The 4th step was that the content with N-bit shift register 20 writes among the ram register R0 by pointer P indication.At last, increase progressively pointer P, point to ram register R
1, R
1The input bit X that arrive its (N-1) location storage the earliest this moment
N-NM+2The state of RAM when Fig. 3 represents this EOS.
During the input bit memory cycle, the content of RAM10 can be read in the mode of routine and operate.For example, in order to produce the next one output Y of limited input response filter (supposing K=NM) mentioned above
N+1, M the word that is stored among the RAM10 read continuously, and with coefficient { C
kDifferent (XOR), coefficient { C
kAlso be stored in M the word in the different storage unit.Attention is in order correctly to work coefficient { C
kMust store with backward: C
K-1, C
K-M-1, C
K-2M-1... C
2M-1, C
M-1, C
K-2, C
K-M-2, C
K-2M-2... C
2M-2, C
M-2... C
K-M+1, C
K-2M+1, C
K-3M+1... C
M+1, C
1, C
K-M, C
K-2M, C
K-3M... C
M, C
0This backward is contraposition { C
kUse method of the present invention, with bit { C
kProduce as the input bit string.
The typical value of M and N is respectively 32 and 32.
Increasing progressively of pointer P cycle.Therefore, in the memory cycle, pointer P initial directional is the register R of high mark at input bit
M-1" increasing progressively " pointer P means the change of pointer P value to point to the register R of minimum mark
0
Principle of the present invention also can be applicable to handle at one time an incoming bit stream rather than one.For example, using length is the ram register of 3 multiple, and incoming bit stream at one time can processed three bits, imported for 3 bit storage cycles at each the content of shift register is moved 3.Shift register must the same with ram register at least length; If shift register only is used for unloading and loads ram register, and the output of shift register is not used further to other processing, then the length of shift register needs not to be 3 multiple position.The restriction of unique reality is if bit is handled in the mode of j group, and j is the typical word length of a conventional RAM (for example 8,16 or 32), processing procedure will be a unit with word rather than bit so, for example prior art is described in people's such as Dixon U.S. Patent No. 5,568,443.
Although the present invention describes with a limited number of embodiment, its variation, other application of modification also will make the present invention have more value.
Claims (10)
1. the method for a processing continuous input bit in a RAM who comprises a plurality of registers, word of each described register-stored, all words are isometric, and the method comprising the steps of:
(a) with a described register among the described pointer initialization sensing RAM; And
(b) for each j position input group shorter than described word:
(i) will deposit word in the described register of described pointer indication in and write one and wait the shift register of being longer than several described words at least,
(ii) with described word mobile j position in described shift register,
(iii) described j position input group is write described shift register, produces a word that is positioned at the renewal of described shift register thus,
(iv) the word after the described renewal is deposited in the described register of described pointer indication,
(v) increase progressively described pointer.
2. according to the process of claim 1 wherein that j equals 1.
3. according to the process of claim 1 wherein that all registers and described each word among the RAM are isometric.
4. according to the process of claim 1 wherein that described shift register and described each word are isometric.
5. according to the method for claim 1, also comprise step:
(c) read and handle at least some described words in the described register that is stored in described RAM continuously.
6. according to claim 5, the described word in wherein all registers that is stored in described RAM is read continuously and is handled.
7. according to the process of claim 1 wherein that all registers have the N bit long.
8. handle the method for MN input bit sequence that receives continuously at least for one kind, step comprises:
(a) with one in M the register among the pointer initialization sensing RAM, the word of a N bit of each described register-stored;
(b) when receiving each input bit, store described each input bit in described RAM by following steps:
(i) word that will deposit in the described register of described pointer indication writes a shift register of N bit long at least,
(ii) described word is moved one in described shift register,
(iii) described every input bit is write described shift register, produces a word that is positioned at the renewal of described shift register thus,
(iv) the word after the described renewal is deposited in the described register of described pointer indication,
(v) increase progressively described pointer;
(c) after MN input bit has been stored among the described RAM, and be stored in back among the described RAM at each successive bits subsequently:
(i) combination is stored in each bit and the corresponding coefficient among the described RAM, thereby obtains the item of a correspondence; With
(ii) to described every summation.
9. method according to Claim 8, wherein N is greater than 5.
10. method according to Claim 8, wherein said combination is stored in each described bit and the described corresponding coefficient among the described RAM, comprise described each bit is carried out the XOR computing with described each corresponding coefficient, make that described processing is the filtration to input bit, and described coefficient is a filtration coefficient.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US94746797A | 1997-10-09 | 1997-10-09 | |
US08/947,467 | 1997-10-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1281559A CN1281559A (en) | 2001-01-24 |
CN1119745C true CN1119745C (en) | 2003-08-27 |
Family
ID=25486184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 98810664 Expired - Fee Related CN1119745C (en) | 1997-10-09 | 1998-09-18 | Method of emulating shift register using RAM |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1027649A4 (en) |
JP (1) | JP2001520429A (en) |
KR (1) | KR20010024466A (en) |
CN (1) | CN1119745C (en) |
AU (1) | AU9402098A (en) |
WO (1) | WO1999019798A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104733049A (en) * | 2015-03-27 | 2015-06-24 | 中国电子科技集团公司第二十研究所 | Shifting register realized by using random access memory (RAM) unit |
CN110888601B (en) * | 2019-11-14 | 2023-05-19 | 中国电子科技集团公司第五十四研究所 | Shifting register implementation method based on RAM IP core |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3755788A (en) * | 1972-05-01 | 1973-08-28 | Honeywell Inf Systems | Data recirculator |
US4393482A (en) * | 1979-11-08 | 1983-07-12 | Ricoh Company, Ltd. | Shift register |
US5153846A (en) * | 1990-07-30 | 1992-10-06 | At&T Bell Laboratories | Digital shift register using random access memory |
US5406518A (en) * | 1994-02-08 | 1995-04-11 | Industrial Technology Research Institute | Variable length delay circuit utilizing an integrated memory device with multiple-input and multiple-output configuration |
US5479128A (en) * | 1994-03-16 | 1995-12-26 | Industrial Technology Research Institute | Single ram multiple-delay variable delay circuit |
-
1998
- 1998-09-18 CN CN 98810664 patent/CN1119745C/en not_active Expired - Fee Related
- 1998-09-18 AU AU94020/98A patent/AU9402098A/en not_active Abandoned
- 1998-09-18 WO PCT/US1998/019708 patent/WO1999019798A1/en not_active Application Discontinuation
- 1998-09-18 JP JP2000516283A patent/JP2001520429A/en not_active Abandoned
- 1998-09-18 EP EP98947185A patent/EP1027649A4/en not_active Withdrawn
- 1998-09-18 KR KR1020007003819A patent/KR20010024466A/en not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
CN1281559A (en) | 2001-01-24 |
WO1999019798A1 (en) | 1999-04-22 |
JP2001520429A (en) | 2001-10-30 |
KR20010024466A (en) | 2001-03-26 |
EP1027649A1 (en) | 2000-08-16 |
AU9402098A (en) | 1999-05-03 |
EP1027649A4 (en) | 2004-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5293164A (en) | Data compression with pipeline processor having separate memories | |
US4754421A (en) | Multiple precision multiplication device | |
Todd | Algorithm and hardware for a merge sort using multiple processors | |
RU97112940A (en) | METHOD AND DEVICE FOR COMPRESSING DATA USING ASSOCIATIVE MEMORY | |
US6295534B1 (en) | Apparatus for maintaining an ordered list | |
CN100334582C (en) | Method and apparatus for storing and searching data in hand-held device | |
CN1119745C (en) | Method of emulating shift register using RAM | |
US4061906A (en) | Computer for numeric calculation of a plurality of functionally interrelated data units | |
JPH0315221B2 (en) | ||
US5550766A (en) | High speed digital polarity correlator | |
Goode et al. | A simple circuit for adding complex numbers | |
Breslauer et al. | Optimal parallel construction of minimal suffix and factor automata | |
Pramanik | Highly parallel associative search and its application to cellular database machine design | |
JPS58151644A (en) | Digital operating device | |
SU1176325A1 (en) | Multiplying device | |
SU1640709A1 (en) | Device for fast fourier transforms | |
JP4036514B2 (en) | Data compression method, data restoration method, sort-merge processing device, sort-merge processing method, and medium on which programs of these methods are recorded | |
RU2223538C2 (en) | Words sorting-out device | |
KR0159814B1 (en) | Article management method in electronic cash register | |
SU1495820A1 (en) | Device for processing multitone images | |
JPH0926872A (en) | Pipeline merge sorter | |
JPH0752447B2 (en) | Search method and device | |
Takashi | Fast Full Text Search Using Tree Structured TS] File | |
IE990024A1 (en) | System for the Serial-to-Parallel Conversion of Binary Data | |
JPH01188933A (en) | Data processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |