JP2001202242A - Microprocessor - Google Patents

Microprocessor

Info

Publication number
JP2001202242A
JP2001202242A JP2000014271A JP2000014271A JP2001202242A JP 2001202242 A JP2001202242 A JP 2001202242A JP 2000014271 A JP2000014271 A JP 2000014271A JP 2000014271 A JP2000014271 A JP 2000014271A JP 2001202242 A JP2001202242 A JP 2001202242A
Authority
JP
Japan
Prior art keywords
instruction
length
variable
microprocessor
coprocessor
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.)
Pending
Application number
JP2000014271A
Other languages
Japanese (ja)
Inventor
Nobuaki Matsui
信明 松井
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2000014271A priority Critical patent/JP2001202242A/en
Publication of JP2001202242A publication Critical patent/JP2001202242A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a microprocessor capable of high speed processing at the time of decoding a variable length code with bit units such as a Huffman code or operating the rotation processing of a bit map. SOLUTION: A microprocessor is provided with an instruction for converting the leading variable length code among variable length encoded data aligned in word length into the corresponding code length. Also, this microprocessor is provided with a vector shift function and a function for obtaining carry data at the time of vector shift as a result.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、マイクロプロセッサも
しくはこれに付随するコプロセッサに関し、具体的に
は、マイクロプロセッサもしくはこれに付随するコプロ
セッサによって行われるハフマン符号等の可変長コード
の復号化の高速処理およびビットマップ回転処理の高速
処理に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microprocessor or a coprocessor associated therewith, and more particularly to a microprocessor or a coprocessor associated therewith for decoding variable length codes such as Huffman codes. It relates to high-speed processing of high-speed processing and bitmap rotation processing.

【0002】[0002]

【従来の技術】従来、マイクロプロセッサはワード長の
データを処理することを前提にしている。ハフマン符号
等のビット単位の可変長コードを復号する場合には、1
ビットづつビットのオン・オフを判断し復号するため、
処理時間が非常に長かった。これを高速で処理するため
に可変長コードを1つの命令で規定の等長の値にデコー
ドすることが提案された。これにより1ビットづつビッ
トのオン・オフを判断する必要がなくなった。
2. Description of the Related Art Conventionally, a microprocessor is assumed to process word-length data. When decoding a variable length code in bit units such as Huffman code, 1
In order to determine and decode the bit on / off bit by bit,
Processing time was very long. In order to process this at high speed, it has been proposed to decode a variable-length code into a prescribed equal-length value with one instruction. As a result, it is not necessary to determine whether each bit is on or off.

【0003】また、マイクロプロセッサでビットマップ
の回転処理を行う場合には、回転前のデータを1ワード
づつロードし、そのワードから回転後のラインの1ピク
セル情報のみを抽出し、回転後のビットマップ画像を形
成する処理をループで行っていた。例えば、32ピクセ
ル×32ピクセルのビットマップ画像を回転するために
はループが1024回処理されていた。
When a bit map is rotated by a microprocessor, data before rotation is loaded word by word, only one pixel information of a line after rotation is extracted from the word, and a bit after rotation is extracted. Processing for forming a map image has been performed in a loop. For example, a loop was processed 1024 times to rotate a bitmap image of 32 pixels × 32 pixels.

【0004】[0004]

【発明が解決しようとする課題】前者のハフマン符号等
のビット単位の可変長コードを復号する場合に、デコー
ドを続けるには、次のデコードをワード整列させるため
にビットシフトが必要であるが、コードが可変長である
ためシフト量も毎回異なる。前述の従来の提案である
と、デコードした値を使用してテーブルを参照すること
によってシフト量を求めていたが、テーブルアクセスに
はメモリアクセスを必要とするため、キャッシュにミス
ヒットした場合に遅いと言った問題があった。
When decoding the variable length code in bit units such as the Huffman code in the former case, a bit shift is necessary to align the next decode in order to continue decoding. Since the code has a variable length, the shift amount also differs each time. In the above-described conventional proposal, the shift amount is obtained by referring to the table using the decoded value. However, since the table access requires memory access, it is slow when a cache miss occurs in the cache. There was a problem that said.

【0005】また、後者のビットマップの回転処理は機
器全体の性能を左右する処理の1つであり、高速化が求
められている。マイクロプロセッサによるビットマップ
の回転処理を高速化するためには、ビットマップ回転処
理のループを減少させる必要がある。
[0005] The latter bitmap rotation process is one of the processes that affect the performance of the entire device, and high-speed processing is required. In order to speed up the bitmap rotation processing by the microprocessor, it is necessary to reduce the number of bitmap rotation processing loops.

【0006】したがって、本発明の第1の目的は、ハフ
マン符号等のビット単位の可変長コードを復号する場合
に、高速処理可能なマイクロプロセッサまたはマイクロ
プロセッサに付随するコプロセッサを提供することにあ
る。
Accordingly, a first object of the present invention is to provide a microprocessor capable of high-speed processing when decoding a bit-length variable-length code such as a Huffman code or a coprocessor attached to the microprocessor. .

【0007】本発明の第2の目的は、ビットマップの回
転処理を行う場合に、高速処理可能なマイクロプロセッ
サ(コプロセッサを付随させてもよい)を提供すること
にある。
A second object of the present invention is to provide a microprocessor (which may be accompanied by a coprocessor) capable of high-speed processing when performing a bitmap rotation process.

【0008】[0008]

【課題を解決するための手段】前述の第1の目的を達成
するために、本発明は、ワード長に整列された可変長符
号化データのうちの先頭の可変長コードからそに対応す
るコード長に変換する命令を有することを特徴とするマ
イクロプロセッサを採用するものである。
In order to achieve the first object, the present invention provides a method for encoding a variable-length coded data arranged in a word length from a head variable-length code to a corresponding code. The present invention employs a microprocessor having an instruction to convert the length into a length.

【0009】本発明は,さらに、マイクロプロセッサに
付随したコプロセッサにおいて、ワード長に整列された
可変長符号化データのうちの先頭の可変長コードからそ
れに対応するコード長に変換する命令を有することを特
徴とするコプロセッサを採用するものである。
According to the present invention, the coprocessor associated with the microprocessor further comprises an instruction for converting the first variable length code of the variable length coded data aligned to the word length into a corresponding code length. Is adopted.

【0010】前述の第2の目的を達成するために、本発
明は、ベクタシフト機能と、ベクタシフト時のキャリー
データを結果として取得する機能とを有することを特徴
とするマイクロプロセッサを採用するものである。
In order to achieve the above-mentioned second object, the present invention employs a microprocessor having a vector shift function and a function of obtaining carry data at the time of vector shift as a result. It is.

【0011】[0011]

【実施例】次に、図面を参照して本発明の実施例を説明
する。
Next, an embodiment of the present invention will be described with reference to the drawings.

【0012】(実施例1)図1は本発明の実施例1のコ
プロセッサを付随したマイクロプロセッサの構成を示す
ブロック図である。図1において、まず最初に、命令フ
ェッチステージ101で命令を取得し、次に命令デコー
ドステージ102、コプロセッサ命令デコード106で
命令がデコードされる。もし命令が整数命令であるなら
ば、整数命令実行ユニット103で命令が実行され、メ
モリアクセスステージ104でメモリにアクセスし、ラ
イトバックステージ105で結果がレジスタに反映され
る。
(First Embodiment) FIG. 1 is a block diagram showing a configuration of a microprocessor with a coprocessor according to a first embodiment of the present invention. In FIG. 1, first, an instruction is obtained in an instruction fetch stage 101, and then the instruction is decoded in an instruction decode stage 102 and a coprocessor instruction decode 106. If the instruction is an integer instruction, the instruction is executed in the integer instruction execution unit 103, the memory is accessed in the memory access stage 104, and the result is reflected in the register in the write back stage 105.

【0013】もし命令がコプロセッサで実行される命令
であり、値にデコードする命令(DECV)であれば、
可変長コードの値へのデコードが実行され、コード長に
デコードする命令(DECS)であれば、可変長コード
デコードユニット108で可変長コードのコード長への
デコードが実行され、コプロセッサメモリアクセスステ
ージ109でメモリにアクセスし、ライトバックステー
ジ110で結果をレジスタに反映させる。
If the instruction is an instruction to be executed by a coprocessor and is an instruction to decode to a value (DECV),
Decoding to the value of the variable length code is executed. If the instruction is to decode to the code length (DECS), the variable length code decoding unit 108 executes the decoding of the variable length code to the code length, and the coprocessor memory access stage. At 109, the memory is accessed, and at the write-back stage 110, the result is reflected in the register.

【0014】図2は可変長コードデコード命令の機能を
示し表である。DECV命令はソースデータrsの上位
ビットに応じて、各コードに対応する値を結果としてr
dを出力する。DECS命令ではソースデータrsの上
位ビットに応じて、各コードに対応するコード長を結果
としてrdを出力する。
FIG. 2 is a table showing the function of the variable length code decode instruction. The DECV instruction outputs a value corresponding to each code as a result according to the upper bits of the source data rs.
Output d. In the DECS instruction, rd is output as a result of the code length corresponding to each code according to the upper bits of the source data rs.

【0015】図3は実施例1の可変長コードデコード命
令を使用したハフマン符号デコードプログラムのアセン
ブラプログラムのリストである。
FIG. 3 is a list of assembler programs of the Huffman code decoding program using the variable length code decoding instruction of the first embodiment.

【0016】(実施例2)図4は本発明の実施例2のマ
イクロプロセッサの構成を示すブロック図である。図4
において、まず最初に、命令フェッチステージ101で
命令を取得し、次に、命令デコードステージ102で命
令がデコードされる。もし命令が整数命令であるなら
ば、整数命令実行ユニット103で命令が実行ユニット
103で命令が実行される。
(Embodiment 2) FIG. 4 is a block diagram showing a configuration of a microprocessor according to Embodiment 2 of the present invention. FIG.
First, an instruction is obtained in an instruction fetch stage 101, and then the instruction is decoded in an instruction decode stage 102. If the instruction is an integer instruction, the instruction is executed at the integer instruction execution unit 103 and at the execution unit 103.

【0017】もし命令が可変長コードデコード命令であ
り、デコードする命令(DECV)であるならば、可変
長コードデコードユニット107で可変長コードの値へ
のデコードが実行され、コード長にデコードする命令
(DECS)であれば、可変長コードデコードユニット
108で可変長コードのコード長へのデコードが実行さ
れる。続いて、メモリアクセスステージ104でメモリ
にアクセスし、ライトバックステージ105で結果がレ
ジスタに反映される。
If the instruction is a variable-length code decoding instruction and an instruction to decode (DECV), the variable-length code decoding unit 107 executes decoding to a variable-length code value, and decodes to a code length. If (DECS), the variable-length code decoding unit 108 decodes the variable-length code into a code length. Subsequently, the memory is accessed in the memory access stage 104, and the result is reflected in the register in the write-back stage 105.

【0018】図5は実施例2の可変長コードデコード命
令を使用したハフマン符号デコードプログラムのアセン
ブラプログラムのリストである。
FIG. 5 is a list of assembler programs of the Huffman code decoding program using the variable length code decoding instruction of the second embodiment.

【0019】(実施例3)図6は本発明の実施例3のマ
イクロプロセッサの構成を示すブロック図である。図6
において、まず最初にインストラクションメモリ201
から命令を取り出し、命令が通常命令であれば、レジス
タファイル202からデータを取り出し、続いて整数演
算実行ユニット203で整数演算を行い、続いてデータ
メモリ204へデータを書き戻し、データをレジスタに
戻すのであれば、その後結果をレジスタファイル202
へ書き戻す。
(Embodiment 3) FIG. 6 is a block diagram showing a configuration of a microprocessor according to Embodiment 3 of the present invention. FIG.
First, the instruction memory 201
If the instruction is a normal instruction, data is extracted from the register file 202, an integer operation is performed by the integer operation execution unit 203, data is written back to the data memory 204, and data is returned to the register. , Then store the result in register file 202
Write back to

【0020】もし命令がベクタシフト命令であるなら
ば、シフト可能レジスタでベクタシフトが行われ、キャ
リーデータをワード長にまとめてメモリステージを通
り、レジスタファイル202へ入力される。
If the instruction is a vector shift instruction, vector shift is performed in a shiftable register, and carry data is collected into a word length, passed through a memory stage, and input to the register file 202.

【0021】図7は本実施例で付加した左ベクタ命令の
動作を示す模式図である。図7において、左ベクタシフ
ト命令が実行されると、コプロセッサ内のシフト可能レ
ジスタ205の値はすべて左に1ビットシフトされ、L
SBには0が補充される。キャリーとなって溢れたビッ
トはワード長に整列されてレジストファイル202の、
オペランドで指定したレジスタへ更新される。
FIG. 7 is a schematic diagram showing the operation of the left vector instruction added in this embodiment. In FIG. 7, when the left vector shift instruction is executed, all the values of the shiftable register 205 in the coprocessor are shifted left by one bit,
SB is supplemented with 0. Bits overflowing as carry are aligned in word length, and
Updated to the register specified by the operand.

【0022】図8は本実施例で付加した右ベクタシフト
命令の動作を示す模式図である。図8において、右ベク
タシフト命令が実行されると、コプロセッサ内のシフト
可能レジスタ205の値はすべて右に1ビットシフトさ
れ、MSBには0が補充される。キャリーとなって溢れ
たビットはワード長に整列されてレジスタファイル20
2の、オペランドで指定されたレジスタへ更新される。
FIG. 8 is a schematic diagram showing the operation of the right vector shift instruction added in this embodiment. In FIG. 8, when the right vector shift instruction is executed, all the values of the shiftable register 205 in the coprocessor are shifted right by one bit, and the MSB is supplemented with 0. Bits overflowing as carry are aligned in word length and stored in register file 20.
2 is updated to the register specified by the operand.

【0023】図9は本実施例で付加したビット反転命令
の動作を示す模式図である。図9において、ビット反転
命令が実行されると、レジスタファイル202のソース
レジスタに格納されたデータのMSBがLSBに、LS
BがMSBに変換され、結果をオペランドで指定された
デスティネーションレジスタに書き込まれる。
FIG. 9 is a schematic diagram showing the operation of the bit inversion instruction added in this embodiment. In FIG. 9, when the bit inversion instruction is executed, the MSB of the data stored in the source register of the register file 202 is changed to the LSB,
B is converted to MSB, and the result is written to the destination register specified by the operand.

【0024】図10は本実施例の命令拡張を用いた、3
2ビット×32ビットのビットマップを270度回転さ
せる処理のアセンブラプログラムリストである。図10
において、始めに、「LOAD:」ラベルから始まるロ
ード処理内で、元ビットマップのデータをコプロセッサ
内のシフト可能レジストファイル205にロードし、カ
ウンタを初期化する。続く、「ROTATE:」ラベル
から始まる回転処理のループ内では、始めに左ベクタシ
フトを行い、そのキャリーをビット反転させ、結果をメ
モリに格納している。この結果、最初の列が270度回
転されたビットマップの最初の行が生成される。さらに
ループカウンタを更新してループカウンタを更新してル
ープが続くかを判断して分岐する。このループは32回
実行される。これによりすべてのビットが270度回転
された位置にきたビットマップメモリに格納される。
FIG. 10 shows an example of the instruction extension using the instruction extension of this embodiment.
9 is an assembler program list for a process of rotating a 2-bit × 32-bit bitmap by 270 degrees. FIG.
First, in the loading process starting from the "LOAD:" label, the data of the original bitmap is loaded into the shiftable resist file 205 in the coprocessor, and the counter is initialized. In the subsequent rotation processing loop starting from the “ROTATE:” label, a left vector shift is performed first, the carry is bit-inverted, and the result is stored in the memory. This produces the first row of the bitmap with the first column rotated 270 degrees. Further, the loop counter is updated, the loop counter is updated, and it is determined whether or not the loop continues. This loop is executed 32 times. As a result, all the bits are stored in the bit map memory at the position rotated by 270 degrees.

【0025】(実施例4)図11は本実施例のマイクロ
プロセッサの構成を示すブロック図である。図11にお
いて、まず最初に、インストラクションメモリ201か
ら命令を取り出し、命令が通常命令であればレジスタフ
ァイル202からデータを取り出す。
(Embodiment 4) FIG. 11 is a block diagram showing a configuration of a microprocessor according to this embodiment. In FIG. 11, first, an instruction is fetched from the instruction memory 201. If the instruction is a normal instruction, data is fetched from the register file 202.

【0026】命令がベクタシフト命令であるならば、ベ
クタシフトユニット601でベクタシフトを行い、キャ
リー抽出命令であるならば、キャリー抽出ユニット60
2でキャリーを抽出する。続いて、データメモリ204
へデータを書き戻し、データをレジスタに書き戻すので
あれば、その後結果をレジスタファイル202へ書き戻
す。
If the instruction is a vector shift instruction, vector shift is performed by the vector shift unit 601, and if the instruction is a carry extraction instruction, the carry extraction unit 60
2. Extract the carry. Subsequently, the data memory 204
If the data is to be written back to the register and the data is to be written back to the register, the result is then written back to the register file 202.

【0027】図12は本実施例で付加したキャリー抽出
命令の動作を示す模式図である。図12において、1バ
イトデータを8個同時に処理するキャリー抽出ユニット
602でベクタシフト時にキャリーアウトするデータ8
ビットを、演算結果としてデスティネーションレジスタ
へ更新する。
FIG. 12 is a schematic diagram showing the operation of the carry extraction instruction added in this embodiment. In FIG. 12, a carry extraction unit 602 for simultaneously processing eight 1-byte data sets data 8 to be carried out during vector shift.
The bit is updated in the destination register as the operation result.

【0028】図13は本実施例で付加した左ベクタシフ
ト命令の動作を示す模式図である。図13において、1
バイトデータを8個同時に処理するベクタシフトユニッ
ト601でシフトを行い、演算結果をデスティネーショ
ンレジスタへ更新する。
FIG. 13 is a schematic diagram showing the operation of the left vector shift instruction added in this embodiment. In FIG. 13, 1
A vector shift unit 601 that processes eight pieces of byte data at the same time performs a shift, and updates the operation result to a destination register.

【0029】[0029]

【発明の効果】以上説明したように、本発明によれば、
メモリアクセスを必要することなく、可変長コードのコ
ード長を得ることができるため、高速に可変長コードの
復号を行うことができる。
As described above, according to the present invention,
Since the code length of the variable-length code can be obtained without requiring memory access, decoding of the variable-length code can be performed at high speed.

【0030】また、本発明によれば、ビットマップ回転
処理時のプログラムのループ回数を減少できることによ
り、高速に回転処理を行うことができる。
Further, according to the present invention, the number of loops of the program in the bitmap rotation processing can be reduced, so that the rotation processing can be performed at high speed.

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

【図1】図1は本発明の実施例1のコプロセッサを付随
したマイクロプロセッサの構成を示すブロック図であ
る。
FIG. 1 is a block diagram illustrating a configuration of a microprocessor with a coprocessor according to a first embodiment of the present invention.

【図2】図2は可変長コードデコード命令の機能を示し
表である。
FIG. 2 is a table showing functions of a variable length code decode instruction.

【図3】図3は実施例1の可変長コードデコード命令を
使用したハフマン符号デコードプログラムのアセンブラ
プログラムのリストである。
FIG. 3 is a list of assembler programs of a Huffman code decoding program using a variable length code decoding instruction according to the first embodiment.

【図4】図4は本発明の実施例2のマイクロプロセッサ
の構成を示すブロック図である。
FIG. 4 is a block diagram illustrating a configuration of a microprocessor according to a second embodiment of the present invention.

【図5】図5は実施例2の可変長コードデコード命令を
使用したハフマン符号デコードプログラムのアセンブラ
プログラムのリストである。
FIG. 5 is a list of assembler programs of a Huffman code decoding program using a variable length code decoding instruction according to the second embodiment.

【図6】図6は本発明の実施例3のマイクロプロセッサ
の構成を示すブロック図である。
FIG. 6 is a block diagram illustrating a configuration of a microprocessor according to a third embodiment of the present invention.

【図7】図7は本実施例で付加した左ベクタ命令の動作
を示す模式図である。
FIG. 7 is a schematic diagram showing an operation of a left vector instruction added in the embodiment.

【図8】図8は本実施例で付加した右ベクタシフト命令
の動作を示す模式図である。
FIG. 8 is a schematic diagram showing an operation of a right vector shift instruction added in the embodiment.

【図9】図9は本実施例で付加したビット反転命令の動
作を示す模式図である。
FIG. 9 is a schematic diagram illustrating an operation of a bit inversion instruction added in the embodiment.

【図10】図10は本実施例の命令拡張を用いた、32
ビット×32ビットのビットマップを270度回転させ
る処理のアセンブラプログラムリストである。
FIG. 10 is a diagram showing an example in which the instruction extension of the present embodiment is used.
9 is an assembler program list of a process of rotating a bit map of bits × 32 bits by 270 degrees.

【図11】図11は本実施例のマイクロプロセッサの構
成を示すブロック図である。
FIG. 11 is a block diagram illustrating a configuration of a microprocessor according to the present embodiment.

【図12】図12は本実施例で付加したキャリー抽出命
令の動作を示す模式図である。
FIG. 12 is a schematic diagram showing an operation of a carry extraction instruction added in the embodiment.

【図13】図13は本実施例で付加した左ベクタシフト
命令の動作を示す模式図である。
FIG. 13 is a schematic diagram showing an operation of a left vector shift instruction added in the embodiment.

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

101 命令フェッチステージ 102 命令デコードステージ 103 整数命令実行ユニット 104 メモリアクセスステージ 105 ライトバックステージ 106 コプロセッサ命令デコードステージ 107 可変長コードデコードユニット(DECV) 108 可変長コードデコードユニット(DECS) 109 コプロセッサメモリアクセスステージ 110 コプロセッサライトバックステージ 201 インストラクションメモリ 202 レジスタファイル 203 整数演算実行ユニット 204 データメモリ 205 シフト可能レジスタファイル 601 ベクタシフトユニット 602 キャリー抽出ユニット 101 Instruction Fetch Stage 102 Instruction Decode Stage 103 Integer Instruction Execution Unit 104 Memory Access Stage 105 Write Back Stage 106 Coprocessor Instruction Decode Stage 107 Variable Length Code Decode Unit (DECV) 108 Variable Length Code Decode Unit (DECS) 109 Coprocessor Memory Access Stage 110 coprocessor write back stage 201 instruction memory 202 register file 203 integer operation execution unit 204 data memory 205 shiftable register file 601 vector shift unit 602 carry extraction unit

Claims (15)

【特許請求の範囲】[Claims] 【請求項1】ワード長に整列された可変長符号化データ
のうちの先頭の可変長コードからそに対応するコード長
に変換する命令を有することを特徴とするマイクロプロ
セッサ。
1. A microprocessor having an instruction for converting a variable length code at the head of variable length coded data arranged in a word length to a corresponding code length.
【請求項2】請求項1記載のマイクロプロセッサにおい
て、ワード長に整列された可変長符号化データのうちの
先頭の可変長コードをそれに対応した値に変換する命令
をさらに有すことを特徴とするマイクロプロセッサ。
2. The microprocessor according to claim 1, further comprising an instruction for converting a leading variable-length code among variable-length coded data arranged in word length into a value corresponding thereto. Microprocessor.
【請求項3】マイクロプロセッサに付随したコプロセッ
サにおいて、ワード長に整列された可変長符号化データ
のうちの先頭の可変長コードからそれに対応するコード
長に変換する命令を有することを特徴とするコプロセッ
サ。
3. A coprocessor attached to a microprocessor, comprising an instruction for converting a variable length coded data at the head of variable length coded data arranged in a word length into a code length corresponding thereto. Coprocessor.
【請求項4】請求項3記載のコプロセッサにおいて、ワ
ード長に整列された可変長符号化データのうちの先頭の
可変長コードをそれに対応した値に変換する命令を有す
ることを特徴とするコプロセッサ。
4. The coprocessor according to claim 3, further comprising an instruction for converting a leading variable length code among variable length coded data arranged in word length into a value corresponding thereto. Processor.
【請求項5】コプロセッサを付随させたマイクロプロセ
ッサにおいて、 マイクロプロセッサに設けられた、命令を取得する命令
フェッチ手段と、 コプロセッサに設けられた、前記命令フェッチ手段から
の命令をデコードするコプロセッサ命令デコード手段
と、 該コプロセッサ命令デコード手段で命令が整数命令でな
いと判断したとき、コプロセッサに設けられた命令のワ
ード長に整列された可変長符号化データの先頭の可変長
コードからそれに対応するコード長に変換する第1可変
長コードデコード手段と、 前記コプロセッサ命令デコード手段で命令が整数命令で
ないと判断したとき、コプロセッサに設けられ、命令の
ワード長に整列された可変長符号化データのうちの先頭
の可変長コードからそれに対応する値に変換する第2可
変長コードデコード手段と、 を有することを特徴とするマイクロプロセッサ。
5. A microprocessor provided with a coprocessor, comprising: an instruction fetch unit provided in the microprocessor for acquiring an instruction; and a coprocessor provided in the coprocessor for decoding an instruction from the instruction fetch unit. When the instruction decoding means determines that the instruction is not an integer instruction, the coprocessor instruction decoding means copes with the first variable length code of the variable length coded data arranged in the word length of the instruction provided in the coprocessor. First variable-length code decoding means for converting to a code length to be converted, and variable-length coding provided in the coprocessor and arranged to the word length of the instruction when the coprocessor instruction decoding means determines that the instruction is not an integer instruction. A second variable-length code for converting the first variable-length code of the data into a value corresponding thereto. And a decoding means.
【請求項6】命令を取得する命令フェッチ手段と、 該命令フェッチ手段からの命令をデコードする命令デコ
ード手段と、 該命令デコード手段で命令が整数命令でないと判断した
とき、命令のワード長に整列された可変長符号化データ
の先頭の可変長コードからそれに対応するコード長に変
換する第1可変長コードデコード手段と、 前記命令デコード手段で命令が整数命令でないと判断し
たとき、命令のワード長に整列された可変長符号化デー
タのうちの先頭の可変長コードからそれに対応する値に
変換する第2可変長コードデコード手段と、 を有することを特徴とするマイクロプロセッサ。
6. An instruction fetch unit for acquiring an instruction, an instruction decode unit for decoding an instruction from the instruction fetch unit, and when the instruction decode unit determines that the instruction is not an integer instruction, the instruction is aligned with the word length of the instruction. First variable-length code decoding means for converting the first variable-length code of the obtained variable-length encoded data into a corresponding code length, and when the instruction decoding means determines that the instruction is not an integer instruction, the word length of the instruction And a second variable-length code decoding means for converting a variable-length code at the head of the variable-length coded data sorted into a value corresponding thereto.
【請求項7】ベクタシフト機能と、ベクタシフト時のキ
ャリーデータを結果として取得する機能とを有すること
を特徴とするマイクロプロセッサ。
7. A microprocessor having a vector shift function and a function of obtaining carry data at the time of vector shift as a result.
【請求項8】請求項7記載のマイクロプロセッサにおい
て、ビット反転機能をさらに有することを特徴とするマ
イクロプロセッサ。
8. The microprocessor according to claim 7, further comprising a bit inversion function.
【請求項9】請求項7記載のマイクロプロセッサにおい
て、シフト可能レジスタファイルを有することによって
前記ベクタ機能を実行することを特徴とするマイクロプ
ロセッサ。
9. The microprocessor of claim 7, wherein said microprocessor performs said vector function by having a shiftable register file.
【請求項10】請求項9記載のマイクロプロセッサにお
いて、マイクロプロセッサにコプロセッサが付随されて
おり、前記シフト可能ファイルがコプロセッサに設けら
れていることを特徴とするマイクロプロセッサ。
10. The microprocessor according to claim 9, wherein a coprocessor is attached to the microprocessor, and the shiftable file is provided in the coprocessor.
【請求項11】請求項9記載のマイクロプロセッサにお
いて、ビット反転機能をさらに有することを特徴とする
マイクロプロセッサ。
11. The microprocessor according to claim 9, further comprising a bit inversion function.
【請求項12】ビットマップ画像の回転を行うための、
コプロセッサを付随させたマイクロプロセッサにおい
て、 命令を格納しておくインストラクションメモリ手段と、 該インストラクションメモリ手段からの命令がベクタシ
フト命令であると判断したとき、ベクタシフトを行うた
めのシフト可能レジスタファイル手段と、 該シフト可能レジスタファイル手段でベクタシフトされ
た結果生じたキャリーデータをワード長にまとめて格納
するレジスタファイル手段と、 を有することを特徴とするマイクロプロセッサ。
12. A method for rotating a bitmap image, comprising:
In a microprocessor with a coprocessor, an instruction memory means for storing instructions, and a shiftable register file means for performing a vector shift when it is determined that the instruction from the instruction memory means is a vector shift instruction And a register file means for storing carry data generated as a result of the vector shift by the shiftable register file means into a word length collectively.
【請求項13】請求項12記載のマイクロプロセッサに
おいて、前記シフト可能レジスタファイル手段はコプロ
セッサに設けられており、前記レジスタファイル手段は
マイクロプロセッサに設けられていることを特徴とする
マイクロプロセッサ。
13. The microprocessor according to claim 12, wherein said shiftable register file means is provided in a coprocessor, and said register file means is provided in said microprocessor.
【請求項14】請求項12記載のマイクロプロセッサに
おいて、前記レジスタファイル手段に格納されたキャリ
ーデータのビット反転を行うビット反転手段をさらに有
することを特徴とするマイクロプロセッサ。
14. The microprocessor according to claim 12, further comprising bit inversion means for performing bit inversion of carry data stored in said register file means.
【請求項15】ビットマップ画像の回転を行うためのマ
イクロプロセッサにおいて、 命令を格納しておくインストラクションメモリ手段と、 該インストラクションメモリ手段からの命令がベクタシ
フト命令であると判断したとき、ベクタシフトを行うた
めのベクタシフトユニット手段と、 該インストラクションメモリ手段からの命令がキャリー
抽出命令であると判断したとき、ベクタシフト時にキャ
リーアウトするデータをデスティネーションレジスタへ
更新してキャリー抽出を行うキャリー抽出ユニット手段
と、 前記ベクタシフトユニット手段によってベクタシフトし
た結果をデスティネーションレジスタに更新する更新手
段と、 を有することを特徴とするマイクロプロセッサ。
15. A microprocessor for rotating a bitmap image, comprising: an instruction memory means for storing an instruction; and a vector shift instruction when the instruction from the instruction memory means is determined to be a vector shift instruction. Vector shift unit means for performing, and when the instruction from the instruction memory means is determined to be a carry extraction instruction, carry extraction unit means for updating data to be carried out during vector shift to a destination register and performing carry extraction And updating means for updating a result of vector shift by the vector shift unit means to a destination register.
JP2000014271A 2000-01-24 2000-01-24 Microprocessor Pending JP2001202242A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000014271A JP2001202242A (en) 2000-01-24 2000-01-24 Microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000014271A JP2001202242A (en) 2000-01-24 2000-01-24 Microprocessor

Publications (1)

Publication Number Publication Date
JP2001202242A true JP2001202242A (en) 2001-07-27

Family

ID=18541752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000014271A Pending JP2001202242A (en) 2000-01-24 2000-01-24 Microprocessor

Country Status (1)

Country Link
JP (1) JP2001202242A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011526041A (en) * 2008-06-26 2011-09-29 クゥアルコム・インコーポレイテッド System and method for performing high-speed rotation calculation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011526041A (en) * 2008-06-26 2011-09-29 クゥアルコム・インコーポレイテッド System and method for performing high-speed rotation calculation

Similar Documents

Publication Publication Date Title
US7917733B2 (en) Instruction code compression using instruction codes with reuse flags
CN108292222B (en) Hardware apparatus and method for data decompression
US6301702B1 (en) Program execution apparatus and program conversion method
US7162621B2 (en) Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration
CN112445526A (en) Multivariable stride read operation for accessing matrix operands
US10915325B2 (en) Parsing-enhancement facility
US10042644B2 (en) Method and apparatus for speculative decompression
JP3729540B2 (en) Image processing device
US20080148018A1 (en) Shift Processing Unit
US5121474A (en) Bit string data processor using dynamically addressable bit locations in memory so overlapping strings do not destroy data in memory
JP2001202242A (en) Microprocessor
CN116400960A (en) Register file prefetch
US7075462B2 (en) Speeding up variable length code decoding on general purpose processors
US4977497A (en) Data processor
CN113721985A (en) RISC-V vector register grouping setting method, device and electronic equipment
US20040210748A1 (en) Processor and method capable of executing conditional instructions
US20050015574A1 (en) Processor and method capable of executing instruction sets with different lengths
US20220200623A1 (en) Method and apparatus for efficient deflate decompression using content-addressable data structures
US7472255B2 (en) Method for addressing a symbol in a memory and device for processing symbols
US11086627B2 (en) Instruction length decoder system and method
US20050246515A1 (en) Method for the coding/decoding of vliw cached instructions
JPH04255995A (en) Instruction cache
JPH09307456A (en) Variable length encoding and decoding device and method
JPH11163736A (en) Processor
KR100204003B1 (en) Prefix compaction method and circuit