JPH08101791A - Circuit and method for processing variable length bit data - Google Patents

Circuit and method for processing variable length bit data

Info

Publication number
JPH08101791A
JPH08101791A JP23697194A JP23697194A JPH08101791A JP H08101791 A JPH08101791 A JP H08101791A JP 23697194 A JP23697194 A JP 23697194A JP 23697194 A JP23697194 A JP 23697194A JP H08101791 A JPH08101791 A JP H08101791A
Authority
JP
Japan
Prior art keywords
register
data
bit
bits
barrel
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.)
Withdrawn
Application number
JP23697194A
Other languages
Japanese (ja)
Inventor
Toyofumi Takahashi
豊文 高橋
Toshio Tanaka
登志雄 田中
Hideaki Terakawa
英明 寺川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KURIEITEIBU DESIGN KK
Nintendo Co Ltd
Original Assignee
KURIEITEIBU DESIGN KK
Nintendo Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by KURIEITEIBU DESIGN KK, Nintendo Co Ltd filed Critical KURIEITEIBU DESIGN KK
Priority to JP23697194A priority Critical patent/JPH08101791A/en
Priority to KR1019950031553A priority patent/KR960011679A/en
Priority to CA 2177722 priority patent/CA2177722A1/en
Priority to PCT/JP1995/001959 priority patent/WO1996010788A1/en
Priority to EP95932916A priority patent/EP0732655A4/en
Priority to US08/647,962 priority patent/US5815098A/en
Priority to CN95116047A priority patent/CN1108562C/en
Publication of JPH08101791A publication Critical patent/JPH08101791A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • H03M7/425Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Memory System (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PURPOSE: To shorten the processing time and to increase the data processing speed by providing a latch of 3 words in total and plural selectors and a subtractor constituting a barrel shift means. CONSTITUTION: When barrel shift is used, data is right or left shifted by plural bits at a time in response to one clock. The number of bits by which data is shifted in response to one clock is determined by the extent of shift given from a subtractor 30. Consequently, a barrel shifter 16 selects 32 bits b0 to b31 given from second and third registers 20 and 22 or '0' in accordance with the extent of shift indicated by the subtractor 30. Data is barrel-shifted by a required number of bits as the result, and shifted-out bits are lost by barrel shift, and '0' is written in these bits. Thus, variable length bit data is taken out at a higher speed with the simple circuit.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は可変長ビットデータ処
理回路および方法に関し、特にたとえば、画像や音声の
圧縮データのように、メモリに効率よく(余白なしに)
格納されている可変長ビットデータを処理する、処理回
路および方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a variable-length bit data processing circuit and method, and more particularly to an efficient memory (without a blank space) such as compressed data of images and sounds.
The present invention relates to a processing circuit and method for processing stored variable length bit data.

【0002】[0002]

【従来の技術】この種の可変長ビットデータ処理回路の
一例が、平成4年(1992)9月2日付で出願公開さ
れた特開平4−245778号公報に開示されている。
この従来技術は、入力符号データを保持する1ワードの
シフトレジスタ(11)と、そのシフトレジスタ(11)からビ
ット並列に転送されるデータを保持する3ワードのシフ
トレジスタ(12)とを含み、シフト/転送制御部(30)がシ
フトレジスタ(12)内のデータ余白部分を充足させる分だ
けシフトレジスタ(11)内のデータを切り出して転送する
ものである。
2. Description of the Related Art An example of a variable length bit data processing circuit of this type is disclosed in Japanese Patent Application Laid-Open No. 4-245778, which was published on September 2, 1992.
This prior art includes a 1-word shift register (11) for holding input code data, and a 3-word shift register (12) for holding data transferred in parallel from the shift register (11), The shift / transfer control unit (30) cuts out and transfers the data in the shift register (11) by an amount that fills the data margin portion in the shift register (12).

【0003】[0003]

【発明が解決しようとする課題】従来技術では、不要に
なった前回のデータをシフトレジスタ(12)で直列シフト
して排出するようにしているため、合計4ワード分のシ
フトレジスタと、それらのシフト動作を制御するための
シフト/転送制御とが必要となる。シフト/転送制御の
詳細については開示されていないが、シフト回数を計数
するカウンタ,シフトクロックの制御回路,シフトレジ
スタ11からシフトレジスタ12への任意のビット数の
データを並列転送する転送制御回路,およびシーケンサ
等が必要となり、回路規模が大きくなってしまう。さら
に、次のデータとビットストリームでつなぐために余白
ビットをシフトレジスタ(11)によって押し出した分だけ
シフトレジスタ(12)によってシフトしかつビット単位に
シフトレジスタ(11)に書き込むようにしているため、従
来技術では、処理ステップが多くなり、データを取り出
す時間が長くかかってしまうという問題点があった。
In the prior art, since the previous unnecessary data is serially shifted by the shift register (12) and discharged, a total of four words of the shift register and those shift registers Shift / transfer control for controlling the shift operation is required. Although details of the shift / transfer control are not disclosed, a counter for counting the number of shifts, a shift clock control circuit, a transfer control circuit for parallel transfer of an arbitrary number of bits of data from the shift register 11 to the shift register 12, Also, a sequencer or the like is required, and the circuit scale becomes large. Further, in order to connect the next data with the bit stream, the margin bits are shifted by the shift register (12) by the amount pushed out by the shift register (11) and written to the shift register (11) in bit units, The conventional technology has a problem in that the number of processing steps is increased and the time for fetching data is long.

【0004】それゆえに、この発明の主たる目的は、簡
単な回路でかつより高速に、可変長ビットデータを取り
出すことができる、データ処理回路および方法を提供す
ることである。
Therefore, a main object of the present invention is to provide a data processing circuit and method capable of extracting variable-length bit data with a simple circuit and at a higher speed.

【0005】[0005]

【課題を解決するための手段】この発明は、ビット並列
に与えられるデータを保持する1ワードの第1レジス
タ、第1レジスタからのデータをビット並列に受ける1
ワードの第2レジスタ、可変長ビットデータが取り出さ
れる1ワードの第3レジスタ、有効ビット数と第2レジ
スタに保持されたデータの残ビット数とを比較して有効
ビット数が残ビット数より大きいとき第1信号を出力す
る比較手段、比較手段から第1信号が出力されたとき、
第2レジスタおよび第3レジスタから残ビット数だけバ
レルシフトしたデータを第3レジスタへロードする第1
バレルシフト手段、比較手段から第1信号が出力された
とき、第1レジスタのデータを第2レジスタにビット並
列でロードするロード手段、およびロード手段によって
第2レジスタに第1レジスタのデータをロードした後、
有効ビット数と残ビット数との差のビット数だけバレル
シフトした第2レジスタおよび第3レジスタのデータを
第2レジスタおよび第3レジスタにロードする第2バレ
ルシフト手段を備える、可変長ビットデータ処理回路で
ある。
SUMMARY OF THE INVENTION According to the present invention, there is provided a 1-word first register for holding data provided in bit parallel, and 1 in which data from the first register is received in bit parallel.
The second register of the word, the third register of one word from which the variable length bit data is taken out, the effective bit number is compared with the remaining bit number of the data held in the second register, and the effective bit number is larger than the remaining bit number. When the comparing means outputs the first signal, and when the comparing means outputs the first signal,
First data that is barrel-shifted by the remaining number of bits from the second register and the third register and is loaded into the third register
When the first signal is output from the barrel shift means and the comparison means, the data in the first register is loaded into the second register in bit parallel, and the data in the first register is loaded into the second register by the loading means. rear,
Variable-length bit data processing, including second barrel shift means for loading the data of the second register and the third register barrel-shifted by the bit number of the difference between the effective bit number and the remaining bit number into the second register and the third register Circuit.

【0006】この発明は、また、ビット並列に与えられ
るデータを保持する1ワードの第1レジスタ、第1レジ
スタからのデータをビット並列に受ける1ワードの第2
レジスタ、および可変長ビットデータが取り出される1
ワードの第3レジスタを備える可変長ビットデータ処理
回路における処理方法であって、有効ビット数が第2レ
ジスタに保持されたデータの残ビット数より大きいと
き、(a) 第2レジスタおよび第3レジスタから残ビット
数だけバレルシフトしたデータを第3レジスタへロード
し、(b) 第1レジスタのデータを第2レジスタにビット
並列でロードし、そして(c) 第2レジスタおよび第3レ
ジスタのデータを有効ビット数と残ビット数との差のビ
ット数だけバレルシフトして第2レジスタおよび第3レ
ジスタにロードする、処理方法である。
The present invention also provides a 1-word first register for holding data provided in bit parallel, and a 1-word second register for receiving data from the first register in bit parallel.
1 from which registers and variable-length bit data are fetched
A processing method in a variable length bit data processing circuit comprising a third register of a word, wherein when the number of effective bits is larger than the number of remaining bits of the data held in the second register, (a) the second register and the third register The data that is barrel-shifted by the number of remaining bits from is loaded to the third register, (b) the data of the first register is loaded to the second register in bit parallel, and (c) the data of the second and third registers is loaded. This is a processing method of barrel-shifting by the number of bits that is the difference between the number of effective bits and the number of remaining bits and loading it into the second and third registers.

【0007】[0007]

【作用】たとえばメモリから読み出された1ワードのデ
ータが第1レジスタにビット並列にロードされる。この
第1レジスタのデータが第2レジスタにビット並列にロ
ードされ、第2レジスタのデータが第1バレルシフト手
段によってたとえば16ビットシフトされて第3レジス
タにロードされる。第3レジスタから、可変長ビットデ
ータが取り出される。たとえば減算器からなる比較手段
において、たとえばCPUによって設定された有効ビッ
ト数を第2レジスタに保持されたデータの残ビット数か
ら減算する。そして、その減算結果が負になったとき、
減算器からボロー信号(第1信号)が出力される。この
ボロー信号が出力されたとき、バレルシフタが動作し、
第2レジスタおよび第3レジスタのデータを残ビット数
だけバレルシフトしてそれを第3レジスタにロードす
る。このとき、第1バレルシフト手段のバレルシフトに
よってはみ出したデータは失われ、使用されない。それ
とともに、第1レジスタのデータが第2レジスタにロー
ドされ、その第2レジスタのデータが第3レジスタのデ
ータとともに(有効ビット数−残ビット数)だけ第2バ
レル手段によってバレルシフトされて第2レジスタおよ
び第3レジスタにロードされる。第2バレルシフト手段
のバレルシフトによって空きが生じた第2レジスタの空
白部には「0」が書き込まれる。
For example, one word of data read from the memory is bit-parallel loaded into the first register. The data in the first register is loaded into the second register in bit parallel, and the data in the second register is shifted by, for example, 16 bits by the first barrel shift means and loaded into the third register. Variable length bit data is taken out from the third register. For example, in the comparison means including a subtractor, the effective bit number set by the CPU, for example, is subtracted from the remaining bit number of the data held in the second register. And when the subtraction result becomes negative,
A borrow signal (first signal) is output from the subtractor. When this borrow signal is output, the barrel shifter operates,
The data in the second register and the third register is barrel-shifted by the remaining number of bits and loaded into the third register. At this time, the data protruding by the barrel shift of the first barrel shift means is lost and is not used. At the same time, the data in the first register is loaded into the second register, and the data in the second register is barrel-shifted by the second barrel means by the number of effective bits-the number of remaining bits together with the data in the third register to make the second data. The register and the third register are loaded. "0" is written in the blank portion of the second register which has been vacated by the barrel shift of the second barrel shift means.

【0008】[0008]

【発明の効果】この発明によれば、合計3ワードのラッ
チと、バレルシフト手段を構成するための複数のセレク
タや減算器があればよく、従来技術に比べて、回路構成
が簡単になるとともに、多くても2ステップのバレルシ
フト動作で有効データがセットできるので、処理時間が
短縮され、データ処理が一層高速化される。
According to the present invention, a latch of 3 words in total and a plurality of selectors and subtractors for configuring the barrel shift means are sufficient, and the circuit configuration is simpler than that of the prior art. Since the effective data can be set by the barrel shift operation of at most two steps, the processing time is shortened and the data processing is further speeded up.

【0009】この発明の上述の目的,その他の目的,特
徴および利点は、図面を参照して行う以下の実施例の詳
細な説明から一層明らかとなろう。
The above-mentioned objects, other objects, features and advantages of the present invention will become more apparent from the following detailed description of the embodiments with reference to the drawings.

【0010】[0010]

【実施例】図1に示す可変長ビットデータ処理回路10
は、メモリ(図示せず)から出力される可変長ビットデ
ータを処理するための回路であって、そのメモリからの
1ワードのメモリデータをビット並列に受ける1ワード
(16ビット)の第1レジスタ12を含む。この第1レ
ジスタ12のデータは、ビット並列にセレクタ14に与
えられる。セレクタ14は2入力(各16ビット)のい
ずれかを選択して出力するものであって、一方入力とし
て上述の第1レジスタ12からの16ビットが、他方入
力としてバレルシフタ16の上位16ビットが与えられ
る。セレクタ14は、タイミング発生器18からの
「0」または「1」のセレクト信号に応じて、第1レジ
スタ12からのデータまたはバレルシフタ16からのデ
ータを選択的に、第2レジスタ20にビット並列にロー
ドする。したがって、このセレクタ14は、第1ないし
第4バレルシフト手段の一部を構成するとともに、第1
レジスタ12のデータを第2レジスタ20にロードする
ロード手段として機能する。第2レジスタ20は1ワー
ド(16ビット)のレジスタであり、この第2レジスタ
20のデータはビット並列にバレルシフタ16に与えら
れる。第3レジスタ22もまた1ワード(16ビット)
のレジスタである。なお、便宜上、第2レジスタ20お
よび第3レジスタ22は個別のものとして説明したが、
実際には、2ワード(32ビット)の1つのレジスタな
いしラッチとして構成される。第2レジスタ20のデー
タがバレルシフタ16の上位16ビットに与えられ、第
3レジスタ22のデータがバレルシフタ16の下位16
ビットに与えられる。バレルシフタ16は、第2レジス
タ20および第3レジスタ22のそれぞれの16ビット
並列データを1つの32ビットデータとして右方向にバ
レルシフトする。バレルシフトしたデータの上位16ビ
ットは上述のようにセレクタ14に与えられるが、バレ
ルシフトしたデータの下位16ビットは第3レジスタ2
2にビット並列で与えられる。したがって、このバレル
シフタ16が第1ないし第4バレルシフト手段の一部を
構成することは明らかである。その結果、第3レジスタ
22のデータが、CPU(図示せず)によって有効デー
タとして3状態ゲート24から取り出される。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT A variable length bit data processing circuit 10 shown in FIG.
Is a circuit for processing variable-length bit data output from a memory (not shown), and is a 1-word (16-bit) first register for receiving 1-word memory data from the memory in parallel. Including 12. The data in the first register 12 is applied to the selector 14 in bit parallel. The selector 14 selects and outputs any one of the two inputs (16 bits each), and the 16 bits from the above-mentioned first register 12 are given as one input and the upper 16 bits of the barrel shifter 16 are given as the other input. To be The selector 14 selectively selects the data from the first register 12 or the data from the barrel shifter 16 in bit parallel to the second register 20 in response to the select signal of “0” or “1” from the timing generator 18. To load. Therefore, the selector 14 constitutes a part of the first to fourth barrel shift means and also has the first
It functions as a loading unit that loads the data in the register 12 into the second register 20. The second register 20 is a 1-word (16-bit) register, and the data in the second register 20 is applied to the barrel shifter 16 in bit parallel. The third register 22 is also 1 word (16 bits)
Is a register of. Note that, for convenience, the second register 20 and the third register 22 are described as separate ones, but
Actually, it is configured as one register or latch of 2 words (32 bits). The data in the second register 20 is given to the upper 16 bits of the barrel shifter 16, and the data in the third register 22 is given to the lower 16 bits of the barrel shifter 16.
Given to a bit. The barrel shifter 16 barrel-shifts the 16-bit parallel data of the second register 20 and the third register 22 to the right as one 32-bit data. The upper 16 bits of the barrel-shifted data are supplied to the selector 14 as described above, but the lower 16 bits of the barrel-shifted data are supplied to the third register 2
2 in bit parallel. Therefore, it is obvious that the barrel shifter 16 constitutes a part of the first to fourth barrel shifting means. As a result, the data in the third register 22 is fetched from the three-state gate 24 as valid data by the CPU (not shown).

【0011】ここで、バレルシフトについて説明する。
通常のシフトレジスタを用いたデータシフトでは、1回
与えられるクロックに応答してデータが1ビット分だけ
右または左にシフトされる。たとえば、データを5ビッ
トシフトする場合は、5つのクロックに応答してデータ
が右または左に5ビットシフトされる。これに対して、
ここでいうバレルシフトを用いた場合、1つのクロック
に応答して、データが1度に複数ビット右または左にシ
フトされる。1回のクロックでシフトするビット数は、
減算器30(後述)から与えられるシフト量により決定
される。
The barrel shift will be described below.
In data shift using a normal shift register, data is shifted by one bit to the right or left in response to a clock applied once. For example, when shifting data by 5 bits, the data is shifted by 5 bits to the right or left in response to 5 clocks. On the contrary,
When barrel shift is used here, data is shifted to the right or left by a plurality of bits at a time in response to one clock. The number of bits to shift in one clock is
It is determined by the shift amount given by the subtractor 30 (described later).

【0012】このようなバレルシフトを行うために、こ
の実施例のバレルシフタ16は、図2に示すように、3
2個のセレクタSBL0-SBL31を用いて構成することができ
る。バレルシフタ16には、第3レジスタ22からの1
6ビットの並列データb16-b31 と第2レジスタ20から
の16ビットの並列データb0-b15の計32ビットのデー
タが与えられる。この32ビットのデータの各ビット
を、下位から上位にかけてそれぞれb0-b31とする。
In order to carry out such a barrel shift, the barrel shifter 16 of this embodiment, as shown in FIG.
It can be configured using two selectors SBL0 to SBL31. The barrel shifter 16 has 1 from the third register 22.
A total of 32 bits of 6-bit parallel data b16-b31 and 16-bit parallel data b0-b15 from the second register 20 are provided. Each bit of this 32-bit data is set to b0-b31 from the lower order to the higher order.

【0013】一方、先に述べたように、バレルシフタ1
6は、最大で16ビットのバレルシフトを行うことがで
きる。このバレルシフトは、セレクタSBL0-SBL31によっ
て実現される。以下に、各セレクタSBL0-SBL31の動作に
ついて説明する。バレルシフタ16の最下位ビットの出
力を決定するセレクタSBL0は、ビットb1-b16の中から1
ビットを選択して出力する16−1セレクタ(16ビッ
トの中から任意の1ビットを選択して出力するセレク
タ)であり、選択するビットは減算器30(図1)から
与えられるシフト量に応答して決定される。同様に、セ
レクタSBL1,SBL2,SBL3,…SBL15 は、それぞれ、ビッ
トb2-b17,b3-b18,b4-b19,…b16-b31 の中から、減算
器30から与えられるシフト量に応答して、1ビットを
選択して出力する16−1セレクタである。
On the other hand, as described above, the barrel shifter 1
6 can perform barrel shift of 16 bits at the maximum. This barrel shift is realized by the selectors SBL0 to SBL31. The operation of each of the selectors SBL0-SBL31 will be described below. The selector SBL0 that determines the output of the least significant bit of the barrel shifter 16 is one of bits b1 to b16.
It is a 16-1 selector that selects and outputs a bit (a selector that selects and outputs any one bit from 16 bits), and the selected bit responds to the shift amount given from the subtractor 30 (FIG. 1). Will be decided. Similarly, the selectors SBL1, SBL2, SBL3, ... It is a 16-1 selector that selects and outputs 1 bit.

【0014】一方、セレクタSBL16-SBL31 の各々は、セ
レクタSBL0-SBL15に用いたような16−1セレクタによ
って構成することができない。なぜならば、セレクタSB
L16は、ビットb17-b32 の中から1ビットを選択して出
力することができないからである。その理由は、バレル
シフタ16には、32ビットb0-b31のデータしか与えら
れておらず、バレルシフタ16に与えられていないビッ
トb32 を選択することはできないからである。そこで、
セレクタSBL16 は、減算器30から与えられるシフト量
によって16ビットのバレルシフトを行うよう指示され
た場合は、ビットb32 に代えて「0」を出力する。すな
わち、セレクタSBL16 は、ビットb17-b31 または「0」
の中から1ビットを選択して出力する16−1セレクタ
である。また、セレクタSBL17 は、バレルシフタ16に
ビットb32 およびb33 が与えられていないため、ビット
b18-b33 の中から1ビットを選択して出力することがで
きず、したがって、減算器30によって15ビット以上
のバレルシフトを行うよう指示された場合、すなわち、
ビットb32 あるいはb33 を選択するよう指示された場合
は、「0」を出力する。換言すれば、セレクタSBL17
は、ビットb18-b31 または「0」の中から1ビットを選
択して出力する15−1セレクタである。同様に、セレ
クタSBL18 ,SBL19 ,SBL20 ,…SBL30 は、それぞれ、
ビットb19-b31または「0」,ビットb20-b31 または
「0」,ビットb21-b31 または「0」,…ビットb31 ま
たは「0」の中から1ビットを選択して出力する14−
1セレクタ,13−1セレクタ,12−1セレクタ,…
2−1セレクタである。そして、セレクタSBL31 は、シ
フト量の値によらず「0」しか出力しない1−1セレク
タであり、セレクタSBL31 の出力は「0」に固定されて
いる。
On the other hand, each of the selectors SBL16-SBL31 cannot be composed of 16-1 selectors like those used for the selectors SBL0-SBL15. Because selector SB
This is because L16 cannot select and output one bit from bits b17-b32. The reason is that only 32 bits b0 to b31 of data are given to the barrel shifter 16, and the bit b32 not given to the barrel shifter 16 cannot be selected. Therefore,
The selector SBL16 outputs "0" instead of the bit b32 when instructed to perform 16-bit barrel shift according to the shift amount given from the subtractor 30. That is, the selector SBL16 has bits b17-b31 or "0".
16-1 selector for selecting and outputting 1 bit from the above. Further, since the selector SBL17 does not provide the bits b32 and b33 to the barrel shifter 16,
If one bit cannot be selected and output from b18-b33, and therefore the subtracter 30 is instructed to perform barrel shift of 15 bits or more, that is,
When instructed to select the bit b32 or b33, "0" is output. In other words, the selector SBL17
Is a 15-1 selector that selects and outputs one bit from bits b18-b31 or "0". Similarly, the selectors SBL18, SBL19, SBL20, ... SBL30 are respectively
Select and output one bit from bit b19-b31 or "0", bit b20-b31 or "0", bit b21-b31 or "0", ... bit b31 or "0" 14-
1 selector, 13-1 selector, 12-1 selector, ...
2-1 selector. The selector SBL31 is a 1-1 selector that outputs only "0" regardless of the value of the shift amount, and the output of the selector SBL31 is fixed to "0".

【0015】このようにして、バレルシフタ16は、減
算器30(図1)によって指示されたシフト量に応じ
て、第2レジスタ20および第3レジスタ22から与え
られる32ビットb0-b31または「0」を選択し、結果的
に、所要のビット数だけバレルシフトし、そのバレルシ
フトの結果、はみ出したビットは失われ、空白となった
ビットには「0」が書き込まれる。
In this way, the barrel shifter 16 has 32 bits b0-b31 or "0" provided from the second register 20 and the third register 22 according to the shift amount instructed by the subtractor 30 (FIG. 1). Is selected, and as a result, barrel shift is performed by the required number of bits. As a result of the barrel shift, the protruding bits are lost, and "0" is written to the blank bits.

【0016】なお、第1レジスタ12には、メモリ(図
示せず)からのメモリデータが、メモリデータライトク
ロック(後述)に応じてロードされ、セレクタ14から
のデータはタイミング発生器18から出力されるラッチ
クロックに応じて第2レジスタ20にロードされる。そ
して、3状態ゲート24はアドレスデコーダ(図示せ
ず)から出力されるCPUリード信号によって制御され
る。すなわち、このCPUリード信号が「1」のとき3
状態ゲート24からCPUリードデータが取り出され
る。上述のアドレスデコーダは、可変長ビットデータ
(VBC:Variable Bit-length Code)の処理のスター
トを示すVBCスタート信号を出力し、このVBCスタ
ート信号が、上述のタイミング発生器18に与えられる
とともに、イニシャルカウンタ26に与えられる。イニ
シャルカウンタ26はまた、メモリデータライトクロッ
クを受け、それに応じてインクリメントされる。タイミ
ング発生器18は、VBCスタート信号に応じてイネー
ブルされ、VBCリクエスト信号を発生する。このVB
Cリクエスト信号は、メモリデータライトクロックに同
期して発生される。
The first register 12 is loaded with memory data from a memory (not shown) in response to a memory data write clock (described later), and the data from the selector 14 is output from the timing generator 18. The second register 20 is loaded according to the latch clock. The 3-state gate 24 is controlled by the CPU read signal output from the address decoder (not shown). That is, when the CPU read signal is "1", 3
CPU read data is fetched from the state gate 24. The above-mentioned address decoder outputs a VBC start signal indicating the start of processing of variable length bit data (VBC: Variable Bit-length Code), and this VBC start signal is supplied to the above-mentioned timing generator 18 and at the same time, is initialized. It is given to the counter 26. The initial counter 26 also receives the memory data write clock and is incremented accordingly. The timing generator 18 is enabled in response to the VBC start signal and generates the VBC request signal. This VB
The C request signal is generated in synchronization with the memory data write clock.

【0017】CPU(図示せず)からのCPUライトデ
ータが有効ビット数レジスタ28に与えられるととも
に、タイミング発生器18に与えられる。有効ビット数
データは、たとえば4ビットで与えられ、バレルシフト
量を決定するために用いられる。有効ビット数データが
「0000」のとき「16」の有効ビット数を表し、有
効ビット数データが「0001」のとき「1」の有効ビ
ット数を表し、有効ビット数データが「0010」のと
き「2」の有効ビット数を表し、以下同様に、有効ビッ
ト数データが「1111」のとき「15」の有効ビット
数を表す。また、アドレスデコーダ(図示せず)からの
有効ビット数ライトクロックが有効ビット数レジスタ2
8に与えられるとともに、タイミング発生器18に与え
られる。
CPU write data from a CPU (not shown) is supplied to the valid bit number register 28 and the timing generator 18. The effective bit number data is given by, for example, 4 bits, and is used to determine the barrel shift amount. When the effective bit number data is "0000", it represents the effective bit number of "16", when the effective bit number data is "0001", it represents the effective bit number of "1", and when the effective bit number data is "0010" It represents the number of effective bits of "2", and similarly, represents the number of effective bits of "15" when the effective bit number data is "1111". In addition, the effective bit number write clock from the address decoder (not shown) is the effective bit number register 2
8 and also to the timing generator 18.

【0018】有効ビット数レジスタ28にロードされた
有効ビット数のデータは減算器30の一方入力に与えら
れる。減算器30の他方入力には、残ビット数レジスタ
32から出力される残ビット数のデータが与えられる。
すなわち、減算器30は「残ビット数−有効ビット数」
の減算を実行するのであるから、第2レジスタ20の残
ビット数を自身で知ることができる。したがって、減算
器30から残ビット数データが出力され、タイミング発
生器18から残ビット数ライトクロックが残ビット数レ
ジスタ32に与えられることによって、残ビット数レジ
スタ32に残ビット数データが保持される。このように
して、減算器30は「残ビット数−有効ビット数」の演
算を行い、その減算結果を新たな残ビット数データとし
て出力するとともに、後者が前者よりも大きいとき、
「1」のボロー信号(第1信号)を出力し、前者と後者
とが等しいとき「1」のゼロ信号(第2信号)を出力す
る。したがって、ボロー信号およびゼロ信号がともに
「0」とき、減算器30からは第3信号が出力されたこ
とになる。ボロー信号およびゼロ信号は、ともに、タイ
ミング発生器18に与えられる。タイミング発生器18
では、ボロー信号やゼロ信号に応じて、セレクト信号や
ラッチクロックを出力する。
The data of the effective bit number loaded in the effective bit number register 28 is given to one input of the subtractor 30. The other input of the subtractor 30 is supplied with the data of the remaining bit number output from the remaining bit number register 32.
That is, the subtractor 30 calculates "the number of remaining bits-the number of effective bits".
Since the subtraction is performed, the remaining bit number of the second register 20 can be known by itself. Therefore, the remaining bit number data is output from the subtractor 30 and the remaining bit number write clock is supplied from the timing generator 18 to the remaining bit number register 32, so that the remaining bit number data is held in the remaining bit number register 32. . In this way, the subtractor 30 performs the operation of "remaining bit number-effective bit number", outputs the subtraction result as new remaining bit number data, and when the latter is larger than the former,
It outputs a borrow signal of "1" (first signal), and outputs a zero signal of "1" (second signal) when the former and the latter are equal. Therefore, when both the borrow signal and the zero signal are “0”, it means that the third signal is output from the subtractor 30. Both the borrow signal and the zero signal are provided to the timing generator 18. Timing generator 18
Then, the select signal and the latch clock are output according to the borrow signal and the zero signal.

【0019】なお、減算器30は、バレルシフタ16に
対して、バレルシフトすべきビット数すなわちシフト量
を設定する。たとえば、第1信号が出力されたときには
シフト量として最初に残ビット数データが与えられ、つ
いで「有効ビット数−残ビット数」すなわち減算結果の
絶対値が与えられ、第2信号が出力されたときにはシフ
ト量として残ビット数データが与えられ、第3信号が出
力されたときにはシフト量として有効ビット数データが
与えられる。
The subtractor 30 sets, in the barrel shifter 16, the number of bits to be barrel-shifted, that is, the shift amount. For example, when the first signal is output, the remaining bit number data is first given as the shift amount, then the "effective bit number-remaining bit number", that is, the absolute value of the subtraction result is given, and the second signal is output. Sometimes the remaining bit number data is given as the shift amount, and when the third signal is output, the effective bit number data is given as the shift amount.

【0020】アドレスカウンタ34には、アドレスデコ
ーダ36(図3)から与えられる初期アドレスライトク
ロックに応答して、メモリに記憶された可変長ビットデ
ータの先頭アドレスデータがプリセットされる。アドレ
スカウンタ34にプリセットされたアドレスデータは、
アービタ38から与えられるメモリデータライトクロッ
クに応答してインクリメントされる。これにより、可変
長ビットデータがメモリ内に複数ワードにわたって連続
して記憶されている場合でも、アドレスカウンタ34に
可変長ビットデータの先頭アドレスを1度プリセットす
るだけで、以後複数ワードにわたる可変長ビットデータ
を連続して読み出して第1レジスタ12にラッチするこ
とができる。
The address counter 34 is preset with the start address data of the variable length bit data stored in the memory in response to the initial address write clock supplied from the address decoder 36 (FIG. 3). The address data preset in the address counter 34 is
It is incremented in response to the memory data write clock given from the arbiter 38. As a result, even if the variable-length bit data is continuously stored in the memory over a plurality of words, it is only necessary to preset the start address of the variable-length bit data once in the address counter 34, and then the variable-length bit data over a plurality of words can be stored. Data can be continuously read and latched in the first register 12.

【0021】アドレスセレクタ40は、CPUから与え
られるCPUアドレスバスのアドレスデータまたはアド
レスカウンタ34から与えられるアドレスデータのいず
れか一方を切り換えてメモリに与える、この切り換え
は、アービタ38からのセレクト信号に基づいて行われ
る。アービタ38は、可変長ビットデータ処理回路10
の動作および可変長ビットデータ処理回路10とCPU
とによるメモリアクセスのタイミングを制御するもので
ある。
The address selector 40 switches either the address data of the CPU address bus supplied from the CPU or the address data supplied from the address counter 34 and supplies it to the memory. This switching is based on the select signal from the arbiter 38. Is done. The arbiter 38 is a variable-length bit data processing circuit 10.
Operation and variable length bit data processing circuit 10 and CPU
It controls the timing of memory access by and.

【0022】アービタ38には、図1に示すようにシス
テムクロック,アドレスデコーダ36からのCPUメモ
リリクエスト信号,およびタイミング発生器18からの
セレクト信号およびイニシャルフラグとが与えられる。
アービタ38は、タイミング発生器18からのセレクト
信号が、第1レジスタ12にラッチされているデータを
第2レジスタ20に供給するようにセレクタ14を切り
換える信号であることを判断する。これに応答して、ア
ービタ38は、アドレスカウンタ34をインクリメント
させるカウント信号を発生し、これに続いてメモリから
与えられる可変長ビットデータを第1レジスタ12にラ
ッチさせるメモリデータライトクロックを発生する。た
だし、タイミング発生器18からのイニシャルフラグが
イニシャル状態を示している場合は、カウント信号は発
生されない。また、アービタ38は、メモリデータライ
トクロックを発生するのに先立って、アドレスセレクタ
40に対してアドレスカウンタ34からのアドレス信号
をメモリに供給するよう指示するセレクト信号を発生す
る。
As shown in FIG. 1, the arbiter 38 is supplied with a system clock, a CPU memory request signal from the address decoder 36, a select signal from the timing generator 18, and an initial flag.
The arbiter 38 determines that the select signal from the timing generator 18 is a signal that switches the selector 14 so as to supply the data latched in the first register 12 to the second register 20. In response to this, the arbiter 38 generates a count signal for incrementing the address counter 34, and subsequently generates a memory data write clock for latching the variable length bit data given from the memory in the first register 12. However, when the initial flag from the timing generator 18 indicates the initial state, the count signal is not generated. Further, the arbiter 38 generates a select signal instructing the address selector 40 to supply the address signal from the address counter 34 to the memory before generating the memory data write clock.

【0023】一方、アービタ38は、アドレスデコーダ
36(図3)からのCPUメモリリクエスト信号を監視
することにより、CPUがメモリへのアクセスを要求し
ているか否かを判断する。そして、CPUがメモリへの
アクセスを要求し、かつアドレスセレクタ40がアドレ
スカウンタ34からのアドレスデータをメモリに与える
よう切り換えられているときは、CPUに対してウェイ
ト信号を与えて、CPUをウェイト状態にする。
On the other hand, the arbiter 38 judges whether or not the CPU requests access to the memory by monitoring the CPU memory request signal from the address decoder 36 (FIG. 3). Then, when the CPU requests access to the memory and the address selector 40 is switched to give the address data from the address counter 34 to the memory, a wait signal is given to the CPU to put the CPU in the wait state. To

【0024】ここで、図3を参照して、アドレスデコー
ダ36には、CPUアドレスバスとリード信号線とライ
ト信号線とが接続され、CPUからのアドレスデータと
CPUからのリード信号とCPUからのライト信号とが
与えられる。CPUは、所定の大きさのメモリ空間を有
し、このメモリ空間内の所定のアドレスに上述のメモ
リ,可変長ビットデータ処理スタート,第3レジスタ2
2および有効ビット数レジスタ28等が割り当てられて
いる。アドレスデコーダ36は、常に、CPUからのア
ドレスデータ,リード信号およびライト信号を監視し、
CPUがメモリの割り当てられているアドレスをアクセ
スし、かつリード信号あるいはライト信号を出力してい
るときは、CPUメモリリクエスト信号を発生する。ま
た、アドレスデコーダ36は、CPUが可変長ビットデ
ータ処理をスタートさせるためのアドレスをアクセスし
かつライト信号を出力しているときは、可変長ビットデ
ータ処理回路10に可変長ビットデータ処理をスタート
させるためのVBCスタート信号を発生する。また、ア
ドレスデコーダ36は、CPUがアドレスカウンタの割
り当てられているアドレスをアクセスしかつライト信号
を出力しているときは、初期アドレスライトクロックを
発生する。さらに、アドレスデコーダ36は、CPUが
第3レジスタの割り当てられているアドレスをアクセス
しかつリード信号を出力しているときは、CPUリード
信号を発生する。また、アドレスデコーダ36はCPU
が有効ビット数レジスタ28の割り当てられているアド
レスをアクセスしかつライト信号を出力しているとき
は、有効ビット数ライトクロック信号を発生する。
Referring to FIG. 3, a CPU address bus, a read signal line, and a write signal line are connected to the address decoder 36, and address data from the CPU, read signals from the CPU, and read signals from the CPU. And a write signal. The CPU has a memory space of a predetermined size, and at the predetermined address in this memory space, the above-mentioned memory, variable length bit data processing start, third register 2
2 and the effective bit number register 28 are assigned. The address decoder 36 always monitors the address data, read signal and write signal from the CPU,
When the CPU accesses the address assigned to the memory and outputs the read signal or the write signal, the CPU memory request signal is generated. Further, the address decoder 36 causes the variable length bit data processing circuit 10 to start the variable length bit data processing when the CPU accesses the address for starting the variable length bit data processing and outputs the write signal. To generate the VBC start signal. Further, the address decoder 36 generates an initial address write clock when the CPU is accessing an address assigned by the address counter and outputting a write signal. Further, the address decoder 36 generates a CPU read signal when the CPU accesses the address assigned to the third register and outputs a read signal. The address decoder 36 is a CPU
When the address is assigned to the valid bit number register 28 and the write signal is output, the valid bit number write clock signal is generated.

【0025】図4および図5を参照して、図1実施例の
動作を説明する。なお、図1実施例は、実際には、ハー
ドウェアで構成されているが、図4および図5のフロー
図のように動作する。したがって、図4および図5フロ
ー図に従って動作するマイクロコンピュータによって図
1回路が代替されてもよい。図4のステップS1からス
テップS7までは、初期設定動作である。すなわち、C
PUかつしたがってアドレスデコーダ36(図3)から
のVBCスタート信号に応答してタイミング発生器18
がイネーブルされ、ステップS1において、タイミング
信号発生器18は、VBCリクエスト信号を出力する。
なお、アドレスデコーダ36は、上述のようにCPUか
ら所定のアドレスデータが出力されたとき、VBCスタ
ート信号を出力する。このとき、CPUは、同時に、メ
モリアドレスカウンタ34(図1)に対してメモリリー
ドアドレスをセットする。応じて、ステップS2におい
て、メモリ(図示せず)からメモリデータが読み出さ
れ、メモリデータライトクロックに応じてそのメモリデ
ータが、第1レジスタ12にビット並列にロードされ
る。そして、メモリデータライトクロックに応じて、ア
ドレスカウンタ34がインクリメントされる。なお、メ
モリ(図示せず)には、可変ビット長データ、すなわ
ち、有効ビット数が変化するデータが効率よく(余白な
しに)アドレス順次にストアされている。タイミング発
生器18は、このメモリデータライトクロックをカウン
トして、次のステップS3において、再びVBCリクエ
スト信号を発生する。したがって、次のステップS4に
おいて、メモリ(図示せず)のインクリメントされたア
ドレスからのメモリデータがビット並列に第1レジスタ
12にロードされるとともに、タイミング発生器18か
らのセレクト信号が「1」であるため、第1レジスタ1
2のデータがセレクタ14を介して、ビット並列に第2
レジスタ20にロードされる。タイミング発生器18
は、メモリデータライトクロックをさらにカウントし
て、次のステップS5において、再びVBCリクエスト
信号を発生する。したがって、次のステップS6におい
て、メモリ(図示せず)からのメモリデータがビット並
列に第1レジスタ12にロードされるとともに、タイミ
ング発生器18からのセレクト信号が「1」であるた
め、第1レジスタ12のデータがセレクタ14を介し
て、ビット並列に第2レジスタ20にロードされる。タ
イミング発生器18からのイニシャルフラグが減算器3
0に与えられ、減算器30から「16」、すなわち「0
000」がバレルシフタ16に与えられる。第2レジス
タ20のデータはバレルシフタ16を介して第3レジス
タ22にロードされる。イニシャルカウンタ26は、こ
こまでに3つのメモリデータライトクロックをカウント
しているので、次のステップS7では、イニシャルエン
ド信号を出力し、タイミング発生器18に与える。した
がって、タイミング発生器18は、初期設定動作を終え
る。
The operation of the embodiment shown in FIG. 1 will be described with reference to FIGS. Although the embodiment of FIG. 1 is actually composed of hardware, it operates as shown in the flowcharts of FIGS. 4 and 5. Therefore, the circuit of FIG. 1 may be replaced by a microcomputer that operates according to the flowcharts of FIGS. 4 and 5. Steps S1 to S7 in FIG. 4 are initial setting operations. That is, C
The timing generator 18 in response to the VBC start signal from the PU and thus the address decoder 36 (FIG. 3).
Are enabled, and in step S1, the timing signal generator 18 outputs the VBC request signal.
The address decoder 36 outputs the VBC start signal when the predetermined address data is output from the CPU as described above. At this time, the CPU simultaneously sets the memory read address in the memory address counter 34 (FIG. 1). Accordingly, in step S2, the memory data is read from the memory (not shown), and the memory data is loaded into the first register 12 in bit parallel in response to the memory data write clock. Then, the address counter 34 is incremented according to the memory data write clock. In the memory (not shown), variable bit length data, that is, data in which the number of effective bits changes, is efficiently (without a blank space) stored address-sequentially. The timing generator 18 counts this memory data write clock and again generates the VBC request signal in the next step S3. Therefore, in the next step S4, the memory data from the incremented address of the memory (not shown) is loaded into the first register 12 in bit parallel and the select signal from the timing generator 18 is "1". Therefore, the first register 1
The second data is bit-parallel to the second data via the selector 14.
It is loaded into the register 20. Timing generator 18
Further counts the memory data write clock, and in the next step S5, generates the VBC request signal again. Therefore, in the next step S6, the memory data from the memory (not shown) is loaded into the first register 12 in a bit-parallel manner, and the select signal from the timing generator 18 is "1". The data of the register 12 is loaded into the second register 20 in bit parallel via the selector 14. The initial flag from the timing generator 18 is the subtractor 3
0, and the subtractor 30 outputs "16", that is, "0".
000 ”is provided to barrel shifter 16. The data in the second register 20 is loaded into the third register 22 via the barrel shifter 16. Since the initial counter 26 has counted the three memory data write clocks so far, in the next step S7, the initial end signal is output and given to the timing generator 18. Therefore, the timing generator 18 finishes the initialization operation.

【0026】このようにして、図6に示すように、第1
レジスタ12,第2レジスタ20および第3レジスタ2
2に、それぞれ、データがロードされる。第3レジスタ
22には、最下位ビットから順に、16ビットのデータ
a0,a1,a2,a3,a4,b0,b1,b2,b3,b4,b5,b6,c0,c1,c2,c3
ロードされ、第2レジスタ20には、最下位ビットから
順に、16ビットのデータ c4,c5,c6,c7,c8,c9,c10,
c11,c12,c13,d0,d1,d2,d3,d4,d5がロードされ、第1レ
ジスタ12には、最下位ビットから順に、16ビットの
データd6,e0,f0,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,g0,g
1,g2がロードされた状態を考える。アルファベットa,
b,c,…がそれぞれ異なるデータを示し、データaの
有効ビット数は5ビット、データbの有効ビット数は7
ビット、データcの有効ビット数は14ビット、データ
dの有効ビット数は7ビット、データeの有効ビット数
は1ビット、データfの有効ビット数は11ビット、そ
してデータgの有効ビット数は未定である。
In this way, as shown in FIG. 6, the first
Register 12, second register 20, and third register 2
Data is loaded into each of the two. The third register 22 stores 16-bit data in order from the least significant bit.
a 0 , a 1 , a 2 , a 3 , a 4 , b 0 , b 1 , b 2 , b 3 , b 4 , b 5 , b 6, c 0 , c 1 , c 2 , c 3 are loaded , The second register 20 stores 16-bit data c 4 , c 5 , c 6, c 7 , c 8 , c 9 , c 10 , in order from the least significant bit.
c 11 , c 12 , c 13 , d 0 , d 1 , d 2 , d 3 , d 4 , d 5 are loaded, and 16-bit data d 6 , is stored in the first register 12 in order from the least significant bit. e 0, f 0 , f 1 , f 2 , f 3 , f 4 , f 5 , f 6 , f 7 , f 8 , f 9 , f 10 , g 0 , g
Consider the situation where 1 and g 2 are loaded. The alphabet a,
, b, c, ... Show different data, the number of effective bits of data a is 5 bits, and the number of effective bits of data b is 7
The effective number of bits of data c is 14 bits, the effective number of bits of data d is 7, the effective number of bits of data e is 1 bit, the effective number of bits of data f is 11 and the effective number of bits of data g is It is undecided.

【0027】次のステップS8において、CPU(図示
せず)は第3レジスタ22から有効データにa0-a4 をリ
ードする。ステップS9で、CPUライトデータとし
て、データaの有効ビット数である「5」がCPUから
出力される。応じて、アドレスデコーダ36(図3)か
ら有効ビット数ライトクロックが出力されるので、有効
ビット数レジスタ28に、「5」のデータが書き込まれ
る。
In the next step S8, the CPU (not shown) reads a 0 -a 4 from the third register 22 as valid data. In step S9, "5" which is the effective bit number of the data a is output from the CPU as the CPU write data. In response, the effective bit number write clock is output from the address decoder 36 (FIG. 3), so that the data of "5" is written in the effective bit number register 28.

【0028】次のステップS10において、減算器30
が「残ビット数−有効ビット数」の演算を実行する。こ
こで、残ビット数とは、第2レジスタ20に保持されて
いるデータのうち、バレルシフトの結果生じた「0」以
外のデータ、たとえば、図6におけるc4-c13およびd0-d
6 の16ビットのデータあるいは図7におけるc9-c13
よびd0-d5 の11ビットのデータを意味する。図6の例
では、第2レジスタ20の残ビット数は「16」である
ため、ステップS10の減算結果は「16−5=11」
で正となり、ステップS10では「YES」と判断され
る。減算器30からは、このとき、バレルシフタ16に
おけるシフト量として有効ビット数である「5」をバレ
ルシフタ16に指示する。したがって、次のステップS
11において、有効ビット数「5」だけバレルシフトし
たデータを第2レジスタ20および第3レジスタ22に
ロードする。その結果が、図7に示される。図7では、
第1レジスタ12のデータはそのまま変化せず、第3レ
ジスタ22に保持されていた5ビットのデータaが第3
レジスタ22から押し出される。したがって、第3レジ
スタ22には、16ビットのデータ b0,b1,b2,b3,b4,
b5,b6,c0,c1,c2,c3,c4,c5,c6,c7,c8が保持される。な
お、減算器30からのボロー信号もゼロ信号もともに
「0」であるので、タイミング発生器18からは「0」
のセレクト信号が出力される。応じて、セレクタ14は
バレルシフタ16からのデータを選択する。したがっ
て、第2レジスタ20には11ビットのデータc9,c10,c
11,c12,c13,d0,d1,d2,d3,d4,d5と5ビットの「0」が保
持される。「0」は、バレルシフタ16によって第2レ
ジスタ20のデータを5ビットバレルシフトした結果、
第2レジスタ20に書き込まれる。
In the next step S10, the subtractor 30
Executes the calculation of "remaining number of bits-effective number of bits". Here, the number of remaining bits means, among the data held in the second register 20, data other than “0” generated as a result of barrel shift, for example, c 4 -c 13 and d 0 -d in FIG.
It means 16-bit data of 6 or 11-bit data of c 9 -c 13 and d 0 -d 5 in FIG. 7. In the example of FIG. 6, since the remaining bit number of the second register 20 is “16”, the subtraction result of step S10 is “16−5 = 11”.
Is positive, and it is determined to be “YES” in step S10. At this time, the subtractor 30 instructs the barrel shifter 16 to be "5" which is the number of effective bits as the shift amount in the barrel shifter 16. Therefore, the next step S
In 11, the data barrel-shifted by the effective bit number “5” is loaded into the second register 20 and the third register 22. The result is shown in FIG. 7. In Figure 7,
The data in the first register 12 remains unchanged, and the 5-bit data a held in the third register 22 is changed to the third data.
It is pushed out of the register 22. Therefore, 16-bit data b 0 , b 1 , b 2 , b 3 , b 4 ,
b 5, b 6, c 0 , c 1, c 2, c 3, c 4, c 5, c 6, c 7, c 8 is maintained. Since both the borrow signal and the zero signal from the subtractor 30 are “0”, the timing generator 18 outputs “0”.
Select signal is output. In response, the selector 14 selects the data from the barrel shifter 16. Therefore, the second register 20 stores 11-bit data c 9 , c 10 , c
11 bits, c 12 , c 13 , d 0 , d 1 , d 2 , d 3 , d 4 , d 5 and 5-bit “0” are held. “0” is a result of barrel-shifting the data in the second register 20 by 5 bits by the barrel shifter 16,
It is written in the second register 20.

【0029】図7の状態において、第3レジスタ22の
データbの有効ビット数は「7」であり、第2レジスタ
20の残ビット数は「11」である。したがって、ここ
で再び、ステップS8からステップS11が繰り返し実
行される。その結果、図8に示すように、第3レジスタ
22からは7ビットのデータbが排出され、データbは
CPUリードデータとして取り込まれる。そして、第3
レジスタ22には、16ビットのデータc0,c1,c2,c3,
c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,d0,d1 が保持さ
れ、第2レジスタ20には、4ビットのデータd2,d3,
d4,d5 と12ビットの「0」が保持される。先に5ビッ
トの「0」があり、かつ新たに7ビットのバレルシフト
が行われるのであるから、この段階で第2レジスタ20
の「0」は12ビットになる。
In the state of FIG. 7, the number of effective bits of the data b in the third register 22 is "7", and the number of remaining bits of the second register 20 is "11". Therefore, steps S8 to S11 are repeatedly executed here. As a result, as shown in FIG. 8, 7-bit data b is discharged from the third register 22, and the data b is fetched as CPU read data. And the third
The register 22 stores 16-bit data c 0 , c 1 , c 2 , c 3 ,
c 4, c 5, c 6 , c 7, c 8, c 9, c 10, c 11, c 12, c 13, d 0, d 1 is held, in the second register 20, 4 bits of data d 2 , d 3 ,
d 4, d 5 and "0" of 12 bits are held. Since there is a 5-bit "0" ahead and a 7-bit barrel shift is newly performed, at this stage, the second register 20
"0" of 12 becomes 12 bits.

【0030】図8の状態において、第3レジスタ22の
データcの有効ビット数は「14」であり、第2レジス
タ20の残ビット数は「4」である。したがって、減算
器30の減算の結果は「4−14=−10」となり、ボ
ロー信号が出力され、ステップS10では「NO」と判
断される。そのため、プロセスは図5のステップS12
に進み、このステップS12において、「残ビット数−
有効ビット数」の減算結果が「0」であるかどうかを判
断する。上述の例では、減算結果は「−10」であるた
め、このステップS12では「NO」と判断され、した
がって、プロセスはステップS13に進む。
In the state of FIG. 8, the effective bit number of the data c in the third register 22 is "14", and the remaining bit number of the second register 20 is "4". Therefore, the subtraction result of the subtractor 30 is "4-14 = -10", the borrow signal is output, and "NO" is determined in step S10. Therefore, the process is step S12 of FIG.
Then, in step S12, "remaining bit number-
It is determined whether or not the result of subtracting the “effective bit number” is “0”. In the above example, the subtraction result is "-10", so "NO" is determined in this step S12, and therefore the process proceeds to step S13.

【0031】ボロー信号に応じて、タイミング発生器1
8は「0」のセレクト信号を出力する。また、減算器3
0からは、減算結果が負になったので、シフト量とし
て、残ビット数である「4」をバレルシフタ16に与え
る。したがって、ステップS13では、図9に示すよう
に、まず、第2レジスタ20および第3レジスタ22の
データを4ビットバレルシフトし、それを第2レジスタ
20および第3レジスタ22にロードする。このとき、
バレルシフタ16の下位16ビットのデータは、c4,c5,
c6,c7,c8,c9,c10,c11,c12,c13,d0,d1,d2,d3,d4,d5 とな
り、上位16ビットは全て「0」になる。ここで、次に
タイミング発生器18からの「1」のセレクト信号に応
答して、セレクタ14が第1レジスタ12のデータを選
択しているため、第2レジスタ20には第1レジスタ1
2のデータがビット並列でロードされ、第2レジスタ2
0は16ビットのデータd6,e0,f0,f1,f2,f3,f4,f5,f6,f
7,f8,f9,f10,g0,g1,g2が保持される。
The timing generator 1 is responsive to the borrow signal.
8 outputs a select signal of "0". Also, the subtractor 3
Since the subtraction result becomes negative from 0, the remaining bit number "4" is given to the barrel shifter 16 as the shift amount. Therefore, in step S13, as shown in FIG. 9, first, the data in the second register 20 and the third register 22 is barrel shifted by 4 bits, and the data is loaded into the second register 20 and the third register 22. At this time,
The lower 16 bits of data of the barrel shifter 16 are c 4 , c 5 ,
c 6 , c 7 , c 8 , c 9 , c 10 , c 11 , c 12 , c 13 , d 0 , d 1 , d 2 , d 3 , d 4 , d 5 and the upper 16 bits are all "0". "become. Here, next, in response to the select signal of "1" from the timing generator 18, the selector 14 is selecting the data of the first register 12, so the second register 20 has the first register 1
2 data is loaded in bit parallel, and the second register 2
0 is 16-bit data d 6 , e 0, f 0 , f 1 , f 2 , f 3 , f 4 , f 5 , f 6 , f
7 , f 8 , f 9 , f 10 , g 0 , g 1 , g 2 are held.

【0032】次のステップS14では、減算器30から
「有効ビット数−残ビット数」のシフト量がバレルシフ
タ16に指示される。図8の状態では、第3レジスタ2
2の有効ビット数は「14」であり、第2レジスタ20
の残ビット数は「4」である。したがって、このときの
シフト量は「10」である。したがって、ステップS1
4において、第2レジスタ20および第3レジスタ22
のデータをバレルシフタ16によって10ビットバレル
シフトしたデータを第2レジスタ20および第3レジス
タ22にセレクタ14を通してロードする。その結果、
第3レジスタ22には、16ビットのデータd0,d1,d2,d
3,d4,d5,d6,e0,f0,f1,f2,f3,f4,f5,f6,f 7 が保持され、
第2レジスタ20には6ビットのデータf8,f9,f10,g0,g
1,g2と10ビットの「0」とが保持される。
In the next step S14, the subtracter 30
The shift amount of "effective bit number-remaining bit number" is barrel shift.
16 is instructed. In the state of FIG. 8, the third register 2
The number of effective bits of 2 is “14”, and the second register 20
The remaining number of bits is 4. Therefore, at this time
The shift amount is "10". Therefore, step S1
4, the second register 20 and the third register 22
10-bit barrel data by barrel shifter 16
The shifted data is stored in the second register 20 and the third register.
The data is loaded into the data 22 through the selector 14. as a result,
16-bit data d is stored in the third register 22.0, d1, d2, d
3, dFour, dFive, d6, e0,f0, f1, f2, f3, fFour, fFive, f6, f 7 Is held,
6-bit data f is stored in the second register 20.8, f9, fTen, g0, g
1, g2And 10-bit "0" are held.

【0033】次のステップS15においてタイミング発
生器18からVBCリクエスト信号が出力され、応じ
て、メモリ(図示せず)から次のメモリデータが読み出
される。したがって、ステップS16では、図10に示
すように、メモリデータが第1レジスタ12にビット並
列にロードされ、第1レジスタ12には16ビットのデ
ータ g3,g4,g5,g6,g7,h0,h1,h2,h3,h4,h5,h6,h7,h8,h9,
h10 が保持される。
In the next step S15, the VBC request signal is output from the timing generator 18, and in response thereto, the next memory data is read from the memory (not shown). Therefore, in step S16, as shown in FIG. 10, the memory data is loaded into bit-parallel to the first register 12, the first register 12 16-bit data g 3, g 4, g 5 , g 6, g 7, h 0 , h 1 , h 2 , h 3 , h 4 , h 5 , h 6 , h 7 , h 8 , h 9 ,
h 10 is retained.

【0034】なお、タイミング発生器18は、メモリか
ら第1レジスタ12にデータをロードする毎に、メモリ
アドレスカウンタ34をインクリメントするため、可変
長ビットデータ列をメモリ内にアドレス順にストアして
おくだけで、それぞれの可変長ビットデータは自動的に
順次メモリから第1レジスタ12へロードされる。再び
ステップS12が実行されると、図9の状態では、第3
レジスタ22のデータdの有効ビット数は「7」で残ビ
ット数は「4」であり、その結果、ステップS13から
ステップS16が実行される。すなわち、ステップS1
3を経て、図10に示すように、第3レジスタ22には
16ビットのデータd6,e0,f0,f1,f2,f3,f4,f5,f6,f7,
f8,f9,f10,g0,g1,g2,g3 が保持され、第2レジスタ20
には16ビットのデータg3,g4,g5,g6,g7, h0,h1,h2,h3,
h4,h5,h6,h7,h8,h9,h10 が保持される。同時に、7ビッ
トのデータdがCPUリードデータとして取り込まれ
る。その後のステップS15およびステップS16を経
て、図10に示すように、第3レジスタ22には16ビ
ットのデータ e0,f0,f1,f2,f3,f4,f5,f6,f7,g0,g1,g2
保持され、第2レジスタ20には、15ビットのデータ
g4,g5,g6,g7,h0,h1,前h2,h3,h4,h5,h6,h7,h8,h9,h10
1ビットの「0」が保持され、第1レジスタ12にはメ
モリ(図示せず)からメモリデータh11,h12,h13,h14,h
15,i0,i1,i2,i 3,i4,i5,i6,i7,i8,i9,j0がロードされ
る。
The timing generator 18 is a memory.
Each time data is loaded from the first register 12 to the memory
Variable to increment the address counter 34
Store a long bit data string in memory in address order
Just put it, each variable length bit data will be automatically
The first register 12 is sequentially loaded from the memory. again
When step S12 is executed, in the state of FIG.
The effective bit number of the data d of the register 22 is "7"
The number of bits is "4", and as a result, from step S13
Step S16 is executed. That is, step S1
3 through 3, as shown in FIG.
16-bit data d6, e0,f0, f1, f2, f3, fFour, fFive, f6, f7,
f8, f9, fTen, g0, g1, g2, g3Is held and the second register 20
16-bit data g3, gFour, gFive, g6, g7,h0, h1, h2, h3,
hFour, hFive, h6, h7, h8, h9, hTenIs retained. 7 bits at the same time
Data d is captured as CPU read data
You. After steps S15 and S16
As shown in FIG. 10, 16 bits are stored in the third register 22.
Data e0,f0, f1, f2, f3, fFour, fFive, f6, f7, g0, g1, g2But
The second register 20 holds the 15-bit data.
gFour, gFive, g6, g7,h0, h1H before2, h3, hFour, hFive, h6, h7, h8, h9, hTen When
A 1-bit “0” is held and stored in the first register 12.
Memory data h from memory (not shown)11, h12, h13, h14, h
Fifteen, i0, i1, i2, i 3, iFour, iFive, i6, i7, i8, i9, j0Is loaded
You.

【0035】図10の状態では、第3レジスタ22のデ
ータeの有効ビット数は「1」であり、残ビット数は
「15」であるので、次に実行されるステップS10で
「YES」と判断され、再び、ステップS11が実行さ
れる。その結果、図11に示すように、第3レジスタ2
2には16ビットのデータf0,f1,f2,f3,f4,f5,f6,f7,
g0,g1,g2,g3,g4が保持され、第2レジスタ20には、1
4ビットのデータ g5,g6,g 7,h0,h1,h2,h3,h4,h5,h6,h7,
h8,h9,h10 と2ビットの「0」が保持される。
In the state of FIG. 10, the data of the third register 22 is
The effective bit number of data e is "1", and the remaining bit number is
Since it is “15”, in step S10 executed next
It is determined to be "YES" and step S11 is executed again.
Be done. As a result, as shown in FIG. 11, the third register 2
2 has 16-bit data f0, f1, f2, f3, fFour, fFive, f6, f7,
g0, g1, g2, g3, gFourIs held, and the second register 20 stores 1
4-bit data gFive, g6, g 7,h0, h1, h2, h3, hFour, hFive, h6, h7,
h8, h9, hTenAnd 2-bit "0" is held.

【0036】図11の状態では、第3レジスタ22のデ
ータfの有効ビット数は「11」であり、残ビット数は
「14」であるので、次に実行されるステップS10で
「YES」と判断され、再び、ステップS11が実行さ
れる。その結果、図12に示すように、第3レジスタ2
2には16ビットのデータg0,g1,g2,g3,g4,g5,g6,g
7,h0,h1,h2,h3,h4,h5,h6,h7 が保持され、第2レジスタ
20には、3ビットのデータh8,h9,h10 と13ビットの
「0」が保持される。このとき、第1レジスタ12のデ
ータはh11,h12,h13,h14,h15,i0,i1,i2,i3,i4,i5,i6,i7,
i8,i9,j0で不変である。
In the state of FIG. 11, the number of effective bits of the data f in the third register 22 is "11" and the number of remaining bits is "14", so that "YES" is determined in the next step S10. The determination is made, and step S11 is executed again. As a result, as shown in FIG. 12, the third register 2
2 is 16-bit data g 0 , g 1 , g 2 , g 3 , g 4 , g 5 , g 6 , g
7, h 0 , h 1 , h 2 , h 3 , h 4 , h 5 , h 6 , h 7 are held, and the second register 20 stores 3-bit data h 8 , h 9 , h 10 and 13 The bit "0" is retained. At this time, the data of the first register 12 h 11, h 12, h 13 , h 14, h 15, i 0, i 1, i 2, i 3, i 4, i 5, i 6, i 7,
It is unchanged at i 8 , i 9 and j 0 .

【0037】図12の状態では、第3レジスタ22のデ
ータgの有効ビット数は「8」であり、残ビット数は
「3」であるため、次に実行されるステップS10およ
びステップS12でともに、「NO」と判断される。そ
のため、ステップS13からステップS16までが再び
実行される。その結果が図13に示される。図13の状
態において、第3レジスタ22のデータhの有効ビット
数は「16」であり、第2レジスタ20の残ビット数は
「11」である。したがって、減算器30の減算の結果
は「11−16=−5」となり、ボロー信号が出力さ
れ、ステップS10では「NO」と判断される。そのた
め、ステップS12において、「残ビット数−有効ビッ
ト数」の減算結果が「0」であるかどうかを判断する。
上述の例では、減算結果は「−5」であるため、このス
テップS12では「NO」と判断され、したがって、プ
ロセスはステップS13に進む。
In the state shown in FIG. 12, the number of effective bits of the data g in the third register 22 is "8" and the number of remaining bits is "3". Therefore, in both step S10 and step S12 to be executed next. , "NO". Therefore, steps S13 to S16 are executed again. The result is shown in FIG. In the state of FIG. 13, the number of effective bits of the data h of the third register 22 is “16”, and the number of remaining bits of the second register 20 is “11”. Therefore, the subtraction result of the subtractor 30 is "11-16 = -5", the borrow signal is output, and it is determined "NO" in step S10. Therefore, in step S12, it is determined whether the subtraction result of "remaining bit number-effective bit number" is "0".
In the above example, the subtraction result is "-5", so "NO" is determined in this step S12, and therefore the process proceeds to step S13.

【0038】ボロー信号に応じて、タイミング発生器1
8は「0」のセレクト信号を出力する。また、減算器3
0からは、減算結果が負になったので、シフト量とし
て、残ビット数である「11」をバレルシフタ16に与
える。したがって、ステップS13では、図14に示す
ように、まず、第2レジスタ20および第3レジスタ2
2のデータを11ビットバレルシフトし、それを第2レ
ジスタ20および第3レジスタ22にロードする。この
とき、バレルシフタ16の下位16ビットのデータは、
h11,h12,h13,h14,h15,i0,i1,i2,i3,i4,i5,i6,i7,i8,i9,
j0となり、上位16ビットのデータは全て「0」とな
る。ここで、次にタイミング発生器18からの「1」の
セレクト信号に応答して、セレクタ14が第1レジスタ
12のデータを選択するため、第2レジスタ20には第
1レジスタ12のデータがビット並列でロードされ、第
2レジスタ20には16ビットのデータj1,j2,j3,j4,
j5,j6,j7,j8,k0,k1,k2,k3,k4,k5,k6,k7 が保持される。
In response to the borrow signal, the timing generator 1
8 outputs a select signal of "0". Also, the subtractor 3
Since the subtraction result is negative from 0, the remaining bit number "11" is given to the barrel shifter 16 as the shift amount. Therefore, in step S13, as shown in FIG. 14, first, the second register 20 and the third register 2
The data of 2 is barrel shifted by 11 bits and loaded into the second register 20 and the third register 22. At this time, the lower 16-bit data of the barrel shifter 16 is
h 11 ,, h 12 , h 13 , h 14 , h 15 , i 0 , i 1 , i 2 , i 3 , i 4 , i 5 , i 6 , i 7 , i 8 , i 9 ,
j 0 , and the upper 16 bits of data are all “0”. Here, since the selector 14 selects the data of the first register 12 in response to the select signal of “1” from the timing generator 18, the data of the first register 12 is stored in the second register 20. The 16-bit data j 1 , j 2 , j 3 , j 4 ,
j 5, j 6, j 7 , j 8, k 0, k 1, k 2, k 3, k 4, k 5, k 6, k 7 is held.

【0039】次のステップS14では、減算器30から
「有効ビット数−残ビット数」のシフト量がバレルシフ
タ16に指示される。図14の状態では、第3レジスタ
22の有効ビット数は「16」であり、第2レジスタ2
0の残ビット数は「11」である。したがって、このと
きのシフト量は「5」である。したがって、ステップS
14において、第2レジスタ20および第3レジスタ2
2のデータをバレルシフタ16によって5ビットバレル
シフトしたデータを第2レジスタ20および第3レジス
タ22にセレクタ14を通してロードする。その結果、
第3レジスタ22には、16ビットのデータi0,i1,i2,i
3,i4,i5,i6,i7,i8,i9,j0,j1,j2,j3,j4,j 5 が保持され、
第2レジスタ20には11ビットのデータj6,j7,j8,k0,
k1,k2,k3,k4,k5,k6,k7と5ビットの「0」とが保持され
る。
In the next step S14, the subtractor 30
The shift amount of "effective bit number-remaining bit number" is barrel shift.
16 is instructed. In the state of FIG. 14, the third register
The number of effective bits of 22 is “16”, and the second register 2
The number of remaining bits of 0 is “11”. So with this
The shift amount of the mushroom is "5". Therefore, step S
In 14, the second register 20 and the third register 2
5 bit barrel for 2 data by barrel shifter 16
The shifted data is stored in the second register 20 and the third register.
The data is loaded into the data 22 through the selector 14. as a result,
The third register 22 stores 16-bit data i0, i1, i2, i
3, iFour, iFive, i6, i7, i8, i9, j0, j1, j2, j3, jFour, j FiveIs held,
The second register 20 stores 11-bit data j6, j7, j8, k0,
k1, k2, k3, kFour, kFive, k6, k7And 5 bits of "0" are held
You.

【0040】次のステップS15においてタイミング発
生器18からVBCリクエスト信号が出力され、応じ
て、メモリ(図示せず)から次のメモリデータが読み出
される。したがって、ステップS16では、図15に示
すように、メモリデータが第1レジスタ12にビット並
列にロードされ、第1レジスタ12には16ビットのデ
ータl0,l1,l2,l3,l4,m0,m1,n0,n1,n2,s0,s1,s2,s3,s4,s
5 が保持される。
At the next step S15, the VBC request signal is output from the timing generator 18, and in response thereto, the next memory data is read from the memory (not shown). Therefore, in step S16, as shown in FIG. 15, memory data is loaded into the first register 12 in bit parallel, and 16-bit data l 0 , l 1 , l 2 , l 3 , l, l is loaded in the first register 12. 4 , m 0 , m 1 , n 0 , n 1 , n 2 , s 0 , s 1 , s 2 , s 3 , s 4 , s
5 is retained.

【0041】図14の状態において、第3レジスタ22
のデータiの有効ビット数は「10」であり、第2レジ
スタ20の残ビット数は「11」である。したがって、
減算器30の減算の結果は「11−10=1」となり、
ステップS10では「YES」と判断される。減算器3
0からは、このとき、バレルシフタ16におけるシフト
量として有効ビット数である「10」をバレルシフタ1
6に指示する。したがって、次のステップS11におい
て、有効ビット数「10」だけバレルシフトしたデータ
を第2レジスタ20および第3レジスタ22にロードす
る。その結果が、図15に示される。図15では、第1
レジスタ12のデータはそのまま変化せず、第3レジス
タ22に保持されていた10ビットのデータiが第3レ
ジスタ22から押し出される。したがって、第3レジス
タ22には、16ビットのデータj0,j1,j2,j3,j4,j5,
j6,j7,j8,k0,k1,k2,k3,k4,k5,k6が保持される。なお、
減算器30からのボロー信号もゼロ信号もともに「0」
であるので、タイミング発生器18からは「0」のセレ
クト信号が出力される。応じて、セレクタ14はバレル
シフタ16からのデータを選択する。したがって、第2
レジスタ20には1ビットのデータk7と15ビットの
「0」が保持される。「0」は、バレルシフタ16によ
って第2レジスタ20のデータを10ビットバレルシフ
トした結果、第2レジスタ20に書き込まれる。
In the state of FIG. 14, the third register 22
The number of effective bits of the data i is “10”, and the number of remaining bits of the second register 20 is “11”. Therefore,
The subtraction result of the subtractor 30 is “11-10 = 1”,
In step S10, "YES" is determined. Subtractor 3
From 0, at this time, "10" which is the effective bit number as the shift amount in the barrel shifter 16 is set in the barrel shifter 1.
Instruct 6 Therefore, in the next step S11, the data barrel-shifted by the effective bit number “10” is loaded into the second register 20 and the third register 22. The result is shown in FIG. In FIG. 15, the first
The data in the register 12 remains unchanged, and the 10-bit data i held in the third register 22 is pushed out from the third register 22. Therefore, 16-bit data j 0 , j 1 , j 2 , j 3 , j 4 , j 5 ,
j 6, j 7, j 8 , k 0, k 1, k 2, k 3, k 4, k 5, k 6 is maintained. In addition,
Both the borrow signal and the zero signal from the subtractor 30 are "0".
Therefore, the timing generator 18 outputs a select signal of "0". In response, the selector 14 selects the data from the barrel shifter 16. Therefore, the second
The register 20 holds 1-bit data k 7 and 15-bit “0”. “0” is written in the second register 20 as a result of barrel shifting the data in the second register 20 by the barrel shifter 16 by 10 bits.

【0042】図15の状態において、第3レジスタ22
のデータjの有効ビット数は「9」であり、第2レジス
タ20の残ビット数は「1」である。したがって、減算
器30の減算の結果は「1−9=−8」となり、ボロー
信号が出力され、ステップS10では「NO」と判断さ
れる。そのため、ステップS12において、「残ビット
数−有効ビット数」の減算結果が「0」であるかどうか
を判断する。上述の例では、減算結果は「−8」である
ため、このステップS12では「NO」と判断され、し
たがって、プロセスはステップS13に進む。
In the state of FIG. 15, the third register 22
The number of effective bits of the data j is “9”, and the number of remaining bits of the second register 20 is “1”. Therefore, the subtraction result of the subtractor 30 becomes "1-9 = -8", the borrow signal is output, and it is determined to be "NO" in step S10. Therefore, in step S12, it is determined whether the subtraction result of "remaining bit number-effective bit number" is "0". In the above example, the subtraction result is "-8", so "NO" is determined in this step S12, so the process proceeds to step S13.

【0043】ボロー信号に応じて、タイミング発生器1
8は「0」のセレクト信号を出力する。また、減算器3
0からは、減算結果が負になったので、シフト量とし
て、残ビット数である「1」をバレルシフタ16に与え
る。したがって、ステップS13では、図16に示すよ
うに、まず、第2レジスタ20および第3レジスタ22
のデータを1ビットバレルシフトし、それを第2レジス
タ20および第3レジスタ22にロードする。このと
き、バレルシフタ16の下位16ビットのデータは、
j1,j2,j3,j4,j5,j6,j7,j8,k0,k1,k2,k3,k4,k5,k6,k7
なり、上位16ビットは全て「0」になる。ここで、次
にタイミング発生器18からの「1」のセレクト信号に
応答して、セレクタ14が第1レジスタ12のデータを
選択するため、第2レジスタ20には第1レジスタ12
のデータがビット並列でロードされ、第2レジスタ20
は16ビットのデータ l0,l1,l2,l3,l4,m0,m1,n0,n1,
n2,s0,s1,s 2,s3,s4,s5が保持される。
In response to the borrow signal, the timing generator 1
8 outputs a select signal of "0". Also, the subtractor 3
From 0, the subtraction result became negative, so
The remaining bit number “1” to the barrel shifter 16.
You. Therefore, in step S13, as shown in FIG.
First, the second register 20 and the third register 22
1-barrel-shift the data of 1st, and transfer it to the 2nd register
Data into the register 20 and the third register 22. This and
The lower 16 bits of data of the barrel shifter 16 are
j1, j2, j3, jFour, jFive, j6, j7, j8,k0, k1, k2, k3, kFour, kFive, k6, k7When
Therefore, the upper 16 bits are all “0”. Where next
To the select signal of "1" from the timing generator 18.
In response, the selector 14 outputs the data in the first register 12
In order to make a selection, the second register 20 has the first register 12
Data of the second register 20 is loaded in bit parallel.
Is 16-bit data l0, l1, l2, l3, lFour, m0, m1, n0, n1,
n2, s0, s1, s 2, s3, sFour, sFiveIs retained.

【0044】次のステップS14では、減算器30から
「有効ビット数−残ビット数」のシフト量がバレルシフ
タ16に指示される。図15の状態では、第3レジスタ
22の有効ビット数は「9」であり、第2レジスタ20
の残ビット数は「1」である。したがって、このときの
シフト量は「8」である。したがって、ステップS14
において、第2レジスタ20および第3レジスタ22の
データをバレルシフタ16によって8ビットバレルシフ
トしたデータを第2レジスタ20および第3レジスタ2
2にセレクタ14を通してロードする。その結果、第3
レジスタ22に保持されていた9ビットのデータjが第
3レジスタ22から押し出される。そして、図16に示
すように、第3レジスタ22には、16ビットのデータ
k0,k1,k2,k3,k4,k5,k6,k7,l0,l1,l2,l3,l4,m0,m1,n0
保持され、第2レジスタ20には8ビットのデータn1,n
2,s0,s1,s2,s3,s4,s5 と8ビットの「0」とが保持され
る。
In the next step S14, the subtractor 30 instructs the barrel shifter 16 to shift "the number of effective bits-the number of remaining bits". In the state of FIG. 15, the number of effective bits of the third register 22 is “9”, and the second register 20
The remaining number of bits is 1. Therefore, the shift amount at this time is "8". Therefore, step S14
, The data of the second register 20 and the third register 22 is 8-bit barrel-shifted by the barrel shifter 16, and the data is transferred to the second register 20 and the third register 2.
2 through the selector 14. As a result, the third
The 9-bit data j held in the register 22 is pushed out from the third register 22. Then, as shown in FIG. 16, 16-bit data is stored in the third register 22.
k 0 , k 1 , k 2 , k 3 , k 4 , k 5 , k 6 , k 7 , l 0 , l 1 , l 2 , l 3 , l 4 , m 0 , m 1 , n 0 , The second register 20 stores 8-bit data n 1 , n
2 , s 0 , s 1 , s 2 , s 3 , s 4 , s 5 and 8-bit "0" are held.

【0045】次のステップS15においてタイミング発
生器18からVBCリクエスト信号が出力され、応じ
て、メモリ(図示せず)から次のメモリデータが読み出
される。したがって、ステップS16では、図17に示
すように、メモリデータが第1レジスタ12にビット並
列にロードされ、第1レジスタ12は16ビットのデー
タs6,s7,s8,s9,s10,s11,s12,s13,t0,t1,u0,u1,u2,u3,
u4,u5 が保持される。
In the next step S15, the VBC request signal is output from the timing generator 18, and in response thereto, the next memory data is read from the memory (not shown). Therefore, in step S16, as shown in FIG. 17, the memory data is loaded into the first register 12 in bit parallel, and the first register 12 has 16-bit data s 6 , s 7, s 8 , s 9 , s 10. , s 11 , s 12 , s 13 , t 0 , t 1 , u 0 , u 1 , u 2 , u 3 ,
u 4 and u 5 are retained.

【0046】再びステップS12が実行されると、図1
6の状態では、第3レジスタ22のデータkの有効ビッ
ト数は「8」で残ビット数は「8」であり、その結果、
図5のステップS17からステップS19が実行され
る。まず、ステップS17において、タイミング発生器
18からの「1」のセレクト信号に応答して、セレクタ
14が第1レジスタ12のデータを選択しているため、
第2レジスタ20には第1レジスタ12のデータがビッ
ト並列でロードされ、第2レジスタ20には16ビット
のデータs6,s7,s8,s9,s10,s11,s12,s13,t0,t 1,u0,u1,
u2,u3,u4,u5 が保持される。それとともに、減算器30
から有効ビット数に相当するシフト量がバレルシフタ1
6に指示される。図16の状態では、第3レジスタ22
の有効ビット数は「8」である。したがって、このとき
のシフト量は「8」である。したがって、ステップS1
7において、第2レジスタ20および第3レジスタ22
のデータをバレルシフタ16によって8ビットバレルシ
フトしたデータを第2レジスタ20および第3レジスタ
22にセレクタ14を通してロードする。その結果、第
3レジスタ22に保持されていた8ビットのデータkが
第3レジスタ22から押し出される。そして、図17に
示すように、第3レジスタ22には、16ビットのデー
タl0,l1,l2,l3,l4,m0,m1,n0,n1,n2,s0,s1,s2,s3,s4,s5
が保持され、第2レジスタ20には16ビットのデータ
s6,s7,s8,s9,s10,s11,s12,s13,t0,t1,u0,u1,u2,u3,u4,u
5 が保持される。
When step S12 is executed again, FIG.
In the state of 6, the valid bit of the data k of the third register 22 is
The number of bits is "8" and the number of remaining bits is "8".
Steps S17 to S19 of FIG. 5 are executed.
You. First, in step S17, the timing generator
In response to the select signal of "1" from 18, the selector
Since 14 selects the data of the first register 12,
The data of the first register 12 is stored in the second register 20.
16 bits are loaded in the second register 20 in parallel.
Data s6, s7,s8, s9, sTen, s11, s12, s13, t0, t 1, u0, u1,
u2, u3, uFour, uFive Is retained. At the same time, the subtractor 30
To the shift amount corresponding to the number of effective bits is barrel shifter 1
6 is instructed. In the state of FIG. 16, the third register 22
The effective number of bits is "8". Therefore, at this time
The shift amount of is "8". Therefore, step S1
7, the second register 20 and the third register 22
Data of 8 bits by barrel shifter 16
The transferred data to the second register 20 and the third register.
22 through the selector 14. As a result,
The 8-bit data k held in the 3 register 22
It is pushed out from the third register 22. And in FIG.
As shown, the third register 22 contains 16-bit data.
Ta0, l1, l2, l3, lFour, m0, m1, n0, n1, n2, s0, s1, s2, s3, sFour, sFive 
Is held, and 16-bit data is stored in the second register 20.
s6, s7,s8, s9, sTen, s11, s12, s13, t0, t1, u0, u1, u2, u3, uFour, u
Five Is retained.

【0047】次のステップS18においてタイミング発
生器18からVBCリクエスト信号が出力され、応じ
て、メモリ(図示せず)から次のメモリデータが読み出
される。したがって、ステップS19では、図18に示
すように、メモリデータが第1レジスタ12にビット並
列にロードされ、第1レジスタ12には16ビットのデ
ータu6,u7,v0,v1,v2,v3,v4,w0,w1,w2,w3,w4,w5,w6,w7,x
0 が保持される。
In the next step S18, the timing generator 18 outputs the VBC request signal, and in response, the next memory data is read from the memory (not shown). Therefore, in step S19, as shown in FIG. 18, memory data is loaded into the first register 12 in bit parallel, and 16-bit data u 6 , u 7, v 0 , v 1 , v is stored in the first register 12. 2 , v 3 , v 4 , w 0 , w 1 , w 2 , w 3 , w 4 , w 5 , w 6 , w 7 , x
0 is retained.

【0048】図17の状態において、第3レジスタ22
のデータlの有効ビット数は「5」であり、第2レジス
タ20の残ビット数は「16」である。したがって、減
算器30の減算の結果は「16−5=11」となり、ス
テップS10では「YES」と判断される。減算器30
からは、このとき、バレルシフタ16におけるシフト量
として有効ビット数である「5」をバレルシフタ16に
指示する。したがって、次のステップS11において、
有効ビット数「5」だけバレルシフトしたデータを第2
レジスタ20および第3レジスタ22にロードする。そ
の結果が、図18の上部で示される。この状態では、第
1レジスタ12のデータはそのまま変化せず、第3レジ
スタ22に保持されていた5ビットのデータlが第3レ
ジスタ22から押し出される。したがって、第3レジス
タ22には、16ビットのデータm0,m1,n0,n1,n2,s0,
s1,s2,s3,s4,s5,s6,s7,s8,s9,s10 が保持される。な
お、減算器30からのボロー信号もゼロ信号もともに
「0」であるので、タイミング発生器18からは「0」
のセレクト信号が出力される。応じて、セレクタ14は
バレルシフタ16からのデータを選択する。したがっ
て、第2レジスタ20には11ビットのデータs11,s12,
s13,t0,t1,u0,u1,u2,u3,u4,u5 と5ビットの「0」が保
持される。「0」は、バレルシフタ16によって第2レ
ジスタ20のデータを10ビットバレルシフトした結
果、第2レジスタ20に書き込まれる。
In the state of FIG. 17, the third register 22
The number of effective bits of the data 1 is “5”, and the number of remaining bits of the second register 20 is “16”. Therefore, the subtraction result of the subtractor 30 is "16-5 = 11", and "YES" is determined in step S10. Subtractor 30
From this, at this time, the barrel shifter 16 is instructed to enter "5", which is the number of effective bits, as the shift amount in the barrel shifter 16. Therefore, in the next step S11,
The second data is barrel-shifted by the effective bit number "5".
The register 20 and the third register 22 are loaded. The results are shown in the upper part of FIG. In this state, the data in the first register 12 remains unchanged and the 5-bit data 1 held in the third register 22 is pushed out from the third register 22. Therefore, 16-bit data m 0 , m 1 , n 0 , n 1 , n 2 , s 0 ,
s 1 , s 2 , s 3 , s 4 , s 5 , s 6 , s 7, s 8 , s 9 , s 10 are held. Since both the borrow signal and the zero signal from the subtractor 30 are “0”, the timing generator 18 outputs “0”.
Select signal is output. In response, the selector 14 selects the data from the barrel shifter 16. Therefore, the second register 20 stores 11-bit data s 11 , s 12 ,
s 13 , t 0 , t 1 , u 0 , u 1 , u 2 , u 3 , u 4 , u 5 and 5-bit “0” are held. “0” is written in the second register 20 as a result of barrel shifting the data in the second register 20 by the barrel shifter 16 by 10 bits.

【0049】図18の上部の状態において、第3レジス
タ22のデータmの有効ビット数は「2」であり、第2
レジスタ20の残ビット数は「11」である。したがっ
て、減算器30の減算の結果は「11−2=9」とな
り、ステップS10では「YES」と判断される。減算
器30からは、このとき、バレルシフタ16におけるシ
フト量として有効ビット数である「2」をバレルシフタ
16に指示する。したがって、次のステップS11にお
いて、有効ビット数「2」だけバレルシフトしたデータ
を第2レジスタ20および第3レジスタ22にロードす
る。その結果が、図18の下部に示される。図18の下
部では、第1レジスタ12のデータはそのまま変化せ
ず、第3レジスタ22に保持されていた2ビットのデー
タmが第3レジスタ22から押し出される。したがっ
て、第3レジスタ22には、16ビットのデータ n0,
n1,n2,s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12
保持される。なお、減算器30からのボロー信号もゼロ
信号もともに「0」であるので、タイミング発生器18
からは「0」のセレクト信号が出力される。応じて、セ
レクタ14はバレルシフタ16からのデータを選択す
る。したがって、第2レジスタ20には9ビットのデー
タs13,t0,t1,u0,u1,u2,u3,u4,u5 と7ビットの「0」が
保持される。「0」は、バレルシフタ16によって第2
レジスタ20のデータを10ビットバレルシフトした結
果、第2レジスタ20に書き込まれる。
In the upper state of FIG. 18, the number of effective bits of the data m in the third register 22 is "2", and the second bit
The remaining bit number of the register 20 is “11”. Therefore, the subtraction result of the subtractor 30 is "11-2 = 9", and "YES" is determined in step S10. At this time, the subtractor 30 instructs the barrel shifter 16 to be "2" which is the number of effective bits as the shift amount in the barrel shifter 16. Therefore, in the next step S11, the data barrel-shifted by the effective bit number "2" is loaded into the second register 20 and the third register 22. The result is shown in the lower part of FIG. In the lower part of FIG. 18, the data in the first register 12 does not change, and the 2-bit data m held in the third register 22 is pushed out from the third register 22. Therefore, 16-bit data n 0 ,
n 1 , n 2 , s 0 , s 1 , s 2 , s 3 , s 4 , s 5 , s 6 , s 7, s 8 , s 9 , s 10 , s 11 , s 12 are held. Since both the borrow signal and the zero signal from the subtractor 30 are "0", the timing generator 18
Outputs a select signal of "0". In response, the selector 14 selects the data from the barrel shifter 16. Therefore, the second register 20 holds 9-bit data s 13 , t 0 , t 1 , u 0 , u 1 , u 2 , u 3 , u 4 , u 5 and 7-bit “0”. “0” is the second value by the barrel shifter 16.
As a result of barrel-shifting the data in the register 20 by 10 bits, the data is written in the second register 20.

【0050】このようにして、上述の実施例によれば、
最大2回のバレルシフト動作を実行するだけで第3レジ
スタ22から有効データが取り出される。
Thus, according to the above embodiment,
The valid data is fetched from the third register 22 only by performing the barrel shift operation up to two times.

【図面の簡単な説明】[Brief description of drawings]

【図1】この発明の一実施例を示すブロック図である。FIG. 1 is a block diagram showing one embodiment of the present invention.

【図2】図1実施例のバレルシフタを詳細に示すブロッ
ク図である。
FIG. 2 is a detailed block diagram of the barrel shifter of FIG. 1 embodiment.

【図3】図1実施例のアドレスデコーダを示すブロック
図である。
FIG. 3 is a block diagram showing an address decoder of FIG. 1 embodiment.

【図4】図1実施例の動作を示すフロー図である。FIG. 4 is a flowchart showing the operation of the embodiment in FIG.

【図5】図1実施例の動作を示すフロー図である。5 is a flowchart showing the operation of the embodiment in FIG. 1. FIG.

【図6】図1実施例の動作を示す各レジスタの状態を示
す図解図である。
FIG. 6 is an illustrative view showing a state of each register showing the operation of the embodiment in FIG. 1;

【図7】図1実施例の動作を示す各レジスタの状態を示
す図解図である。
FIG. 7 is an illustrative view showing a state of each register showing the operation of the embodiment in FIG. 1;

【図8】図1実施例の動作を示す各レジスタの状態を示
す図解図である。
FIG. 8 is an illustrative view showing a state of each register showing the operation of the embodiment in FIG. 1;

【図9】図1実施例の動作を示す各レジスタの状態を示
す図解図である。
FIG. 9 is an illustrative view showing a state of each register showing the operation of the embodiment in FIG. 1;

【図10】図1実施例の動作を示す各レジスタの状態を
示す図解図である。
FIG. 10 is an illustrative view showing a state of each register showing the operation of the embodiment in FIG. 1;

【図11】図1実施例の動作を示す各レジスタの状態を
示す図解図である。
FIG. 11 is an illustrative view showing a state of each register showing the operation of the embodiment in FIG. 1;

【図12】図1実施例の動作を示す各レジスタの状態を
示す図解図である。
FIG. 12 is an illustrative view showing a state of each register showing the operation of the embodiment in FIG. 1;

【図13】図1実施例の動作を示す各レジスタの状態を
示す図解図である。
FIG. 13 is an illustrative view showing a state of each register showing the operation of the embodiment in FIG. 1;

【図14】図1実施例の動作を示す各レジスタの状態を
示す図解図である。
FIG. 14 is an illustrative view showing a state of each register showing an operation of the embodiment in FIG. 1;

【図15】図1実施例の動作を示す各レジスタの状態を
示す図解図である。
FIG. 15 is an illustrative view showing a state of each register showing an operation of the embodiment in FIG. 1;

【図16】図1実施例の動作を示す各レジスタの状態を
示す図解図である。
FIG. 16 is an illustrative view showing a state of each register showing the operation of the embodiment in FIG. 1;

【図17】図1実施例の動作を示す各レジスタの状態を
示す図解図である。
FIG. 17 is an illustrative view showing a state of each register showing the operation of the embodiment in FIG. 1;

【図18】図1実施例の動作を示す各レジスタの状態を
示す図解図である。
FIG. 18 is an illustrative view showing a state of each register showing the operation of the embodiment in FIG. 1;

【符号の説明】[Explanation of symbols]

10 …可変長ビットデータ処理回路 12 …第1レジスタ 14 …セレクタ 16 …バレルシフタ 20 …第2レジスタ 22 …第3レジスタ 30 …減算器 10 ... Variable length bit data processing circuit 12 ... First register 14 ... Selector 16 ... Barrel shifter 20 ... Second register 22 ... Third register 30 ... Subtractor

───────────────────────────────────────────────────── フロントページの続き (72)発明者 寺川 英明 兵庫県川西市中央町3番6号 株式会社ク リエイティブ・デザイン内 ─────────────────────────────────────────────────── ─── Continued Front Page (72) Inventor Hideaki Terakawa 3-6 Chuomachi, Kawanishi City, Hyogo Prefecture Creative Design Co., Ltd.

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】ビット並列に与えられるデータを保持する
1ワードの第1レジスタ、 前記第1レジスタからのデータをビット並列に受ける1
ワードの第2レジスタ、 可変長ビットデータが取り出される1ワードの第3レジ
スタ、 有効ビット数と前記第2レジスタに保持されたデータの
残ビット数とを比較して前記有効ビット数が前記残ビッ
ト数より大きいとき第1信号を出力する比較手段、 前記比較手段から前記第1信号が出力されたとき、前記
第2レジスタおよび前記第3レジスタから前記残ビット
数だけバレルシフトしたデータを前記第3レジスタへロ
ードする第1バレルシフト手段、 前記比較手段から前記第1信号が出力されたとき、前記
第1レジスタのデータを前記第2レジスタにビット並列
でロードするロード手段、および前記ロード手段によっ
て前記第2レジスタに前記第1レジスタのデータをロー
ドした後、前記有効ビット数と前記残ビット数との差の
ビット数だけバレルシフトした前記第2レジスタおよび
前記第3レジスタのデータを前記第2レジスタおよび前
記第3レジスタにロードする第2バレルシフト手段を備
える、可変長ビットデータ処理回路。
1. A 1-word first register for holding data applied in bit parallel, 1 for receiving data from the first register in bit parallel
Second register of word, third register of one word from which variable-length bit data is taken out, effective bit number is compared with remaining bit number of data held in the second register, and the effective bit number is the remaining bit A comparing unit that outputs a first signal when the number is larger than a number; and when the first signal is output from the comparing unit, the third register outputs data barrel-shifted by the remaining bit number from the second register and the third register. First barrel shift means for loading into a register; load means for loading data of the first register into the second register in bit parallel when the first signal is output from the comparing means; After loading the data in the first register into the second register, the number of bits is the difference between the number of valid bits and the number of remaining bits. A variable length bit data processing circuit comprising second barrel shift means for loading the barrel-shifted data of the second register and the third register into the second register and the third register.
【請求項2】前記比較手段は前記有効ビット数と前記残
ビット数とが等しいとき第2の信号を出力し、 前記比較手段から前記第2信号が出力されたとき、前記
残ビット数だけバレルシフトした前記第2レジスタおよ
び前記第3レジスタのデータを前記第3レジスタにロー
ドする第3バレルシフト手段、および前記比較手段から
前記第2信号が出力されたとき、前記第1レジスタのデ
ータを前記第2レジスタにビット並列でロードするロー
ド手段を備える、請求項1記載の可変長ビットデータ処
理回路。
2. The comparing means outputs a second signal when the effective bit number is equal to the remaining bit number, and when the second signal is output from the comparing means, the barrel is equal to the remaining bit number. When the second signal is output from the third barrel shift means for loading the shifted data in the second register and the third register into the third register, and the comparing means, the data in the first register is transferred to the aforesaid 2. The variable-length bit data processing circuit according to claim 1, further comprising loading means for loading the second register in bit parallel.
【請求項3】前記比較手段は前記残ビット数が前記有効
ビット数より大きいとき第3信号を出力し、 前記比較手段から前記第3信号が出力されたとき、前記
第2レジスタおよび前記第3レジスタのデータを前記有
効ビット数だけバレルシフトして前記第2レジスタおよ
び前記第3レジスタにロードする第4バレルシフト手段
を備える、請求項1または2記載の可変長ビットデータ
処理回路。
3. The comparing means outputs a third signal when the remaining bit number is larger than the effective bit number, and when the comparing means outputs the third signal, the second register and the third register. 3. The variable length bit data processing circuit according to claim 1, further comprising fourth barrel shift means for barrel-shifting register data by the effective number of bits and loading the data in the second register and the third register.
【請求項4】ビット並列に与えられるデータを保持する
1ワードの第1レジスタ、前記第1レジスタからのデー
タをビット並列に受ける1ワードの第2レジスタ、およ
び可変長ビットデータが取り出される1ワードの第3レ
ジスタを備える可変長ビットデータ処理回路における処
理方法であって、 有効ビット数が前記第2レジスタに保持されたデータの
残ビット数より大きいとき、(a) 前記第2レジスタおよ
び前記第3レジスタから前記残ビット数だけバレルシフ
トしたデータを前記第3レジスタへロードし、(b) 前記
第1レジスタのデータを前記第2レジスタにビット並列
でロードし、そして(c) 前記第2レジスタおよび前記第
3レジスタのデータを前記有効ビット数と前記残ビット
数との差のビット数だけバレルシフトして前記第2レジ
スタおよび前記第3レジスタにロードする、処理方法。
4. A 1-word first register for holding data applied in bit parallel, a 1-word second register for receiving data from the first register in bit-parallel, and 1-word from which variable-length bit data is extracted. In the processing method in the variable-length bit data processing circuit including the third register, when the effective bit number is larger than the remaining bit number of the data held in the second register, (a) the second register and the second register Data barrel-shifted by the remaining number of bits from three registers are loaded into the third register, (b) data of the first register is loaded into the second register in bit parallel, and (c) the second register And barrel-shifting the data in the third register by the number of bits that is the difference between the number of effective bits and the number of remaining bits, and the second register And a processing method of loading the third register.
【請求項5】前記有効ビット数と前記残ビット数とが等
しいとき、(d) 前記残ビット数だけバレルシフトした前
記第2レジスタおよび前記第3レジスタのデータを前記
第2レジスタおよび前記第3レジスタにロードし、そし
て(e) 前記第1レジスタのデータを前記第2レジスタに
ビット並列でロードする、請求項4記載の処理方法。
5. When the number of valid bits is equal to the number of remaining bits, (d) the data of the second register and the third register barrel-shifted by the number of remaining bits is transferred to the second register and the third register. 5. The processing method according to claim 4, wherein the register is loaded, and (e) the data of the first register is loaded in the second register in bit parallel.
【請求項6】前記残ビット数が前記有効ビット数より大
きいとき、(f) 前記第2レジスタおよび前記第3レジス
タのデータを前記有効ビット数だけバレルシフトして前
記第2レジスタおよび前記第3レジスタにロードする、
請求項4または5記載の処理方法。
6. When the number of remaining bits is larger than the number of valid bits, (f) barrel shift the data in the second register and the third register by the number of valid bits to perform the second register and the third register. Load into a register,
The processing method according to claim 4 or 5.
JP23697194A 1994-09-30 1994-09-30 Circuit and method for processing variable length bit data Withdrawn JPH08101791A (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP23697194A JPH08101791A (en) 1994-09-30 1994-09-30 Circuit and method for processing variable length bit data
KR1019950031553A KR960011679A (en) 1994-09-30 1995-09-25 Variable bit data processing circuit and method
CA 2177722 CA2177722A1 (en) 1994-09-30 1995-09-27 Variable-length bit data processing circuit and method
PCT/JP1995/001959 WO1996010788A1 (en) 1994-09-30 1995-09-27 Variable-length bit data processing circuit and method
EP95932916A EP0732655A4 (en) 1994-09-30 1995-09-27 Variable-length bit data processing circuit and method
US08/647,962 US5815098A (en) 1994-09-30 1995-09-27 Circuit and method for efficiently expanding compressed data stored in memory
CN95116047A CN1108562C (en) 1994-09-30 1995-09-29 Bit length changeable data process circuit and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23697194A JPH08101791A (en) 1994-09-30 1994-09-30 Circuit and method for processing variable length bit data

Publications (1)

Publication Number Publication Date
JPH08101791A true JPH08101791A (en) 1996-04-16

Family

ID=17008483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23697194A Withdrawn JPH08101791A (en) 1994-09-30 1994-09-30 Circuit and method for processing variable length bit data

Country Status (7)

Country Link
US (1) US5815098A (en)
EP (1) EP0732655A4 (en)
JP (1) JPH08101791A (en)
KR (1) KR960011679A (en)
CN (1) CN1108562C (en)
CA (1) CA2177722A1 (en)
WO (1) WO1996010788A1 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6175386A (en) * 1984-09-20 1986-04-17 ダイキン工業株式会社 Data shifting circuit for bit map display unit
JP3013381B2 (en) * 1990-03-28 2000-02-28 ソニー株式会社 Variable length data decoding device
US5173695A (en) * 1990-06-29 1992-12-22 Bell Communications Research, Inc. High-speed flexible variable-length-code decoder
JPH04107013A (en) * 1990-08-28 1992-04-08 Ricoh Co Ltd Encoding circuit for variable length code
US5245338A (en) * 1992-06-04 1993-09-14 Bell Communications Research, Inc. High-speed variable-length decoder
US5343195A (en) * 1992-12-18 1994-08-30 Thomson Consumer Electronics, Inc. Variable length codeword decoding apparatus
US5557271A (en) * 1993-09-23 1996-09-17 Goldstar Co., Ltd. Variable length coder and variable length decoder

Also Published As

Publication number Publication date
WO1996010788A1 (en) 1996-04-11
EP0732655A4 (en) 1998-01-07
CN1143219A (en) 1997-02-19
EP0732655A1 (en) 1996-09-18
KR960011679A (en) 1996-04-20
US5815098A (en) 1998-09-29
CN1108562C (en) 2003-05-14
CA2177722A1 (en) 1996-04-11

Similar Documents

Publication Publication Date Title
US5166978A (en) Encoding system according to the so-called rsa method, by means of a microcontroller and arrangement implementing this system
KR880001168B1 (en) Digital signal processing system
JPH064282A (en) Circuit for selecting plural instructions from stream of instruction data
JP3188467B2 (en) Minimum / maximum value search device
JPS60140463A (en) Integrated data processor
US5684728A (en) Data processing system having a saturation arithmetic operation function
US5459847A (en) Program counter mechanism having selector for selecting up-to-date instruction prefetch address based upon carry signal of adder which adds instruction size and LSB portion of address register
US5423012A (en) Apparatus and method in a computer for executing calculation instructions and data instructions having uniform word lengths
US5812806A (en) Data driven information processor configuring each data packet with a multi-attribute tag having at least two components
US5349671A (en) Microprocessor system generating instruction fetch addresses at high speed
JPH07239780A (en) One-clock variable length instruction execution process type instruction read computer
JPH10124447A (en) Data transfer control method and device
JPH08101791A (en) Circuit and method for processing variable length bit data
US6240540B1 (en) Cyclic redundancy check in a computer system
US5475828A (en) Digital processor having plurality of memories and plurality of arithmetic logic units corresponding in number thereto and method for controlling the same
US5220670A (en) Microprocessor having ability to carry out logical operation on internal bus
US5313600A (en) System for controlling the number of data pieces in a queue memory
EP0535395B1 (en) Partial multiplier selector for multiplication circuit
JP2776785B2 (en) Serial data transfer device
JP2575969B2 (en) Floating point multiplier / divider
JP3786329B2 (en) Encoding / decoding device
JP3525582B2 (en) Bit operation circuit
EP0867804A2 (en) Triangular addressing
JPH11191096A (en) Data processor
JPH0545983B2 (en)

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020115