JP4439455B2 - ビット操作方法、プロセッサ、システム、コンピュータ処理システム、コンピュータのネットワーク - Google Patents
ビット操作方法、プロセッサ、システム、コンピュータ処理システム、コンピュータのネットワーク Download PDFInfo
- Publication number
- JP4439455B2 JP4439455B2 JP2005291363A JP2005291363A JP4439455B2 JP 4439455 B2 JP4439455 B2 JP 4439455B2 JP 2005291363 A JP2005291363 A JP 2005291363A JP 2005291363 A JP2005291363 A JP 2005291363A JP 4439455 B2 JP4439455 B2 JP 4439455B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- string
- bit string
- bit stream
- length
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims description 54
- 238000000034 method Methods 0.000 title claims description 50
- 230000015654 memory Effects 0.000 claims description 158
- 239000000872 buffer Substances 0.000 claims description 152
- 238000004891 communication Methods 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 230000004044 response Effects 0.000 claims 14
- 238000013500 data storage Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 27
- 230000008569 process Effects 0.000 description 9
- 238000007796 conventional method Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Memory System (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
Claims (19)
- メモリにストアされたビットストリーム中のデータに対してビット操作を行うビット操作方法であって、
ビットストリームポインタが指し示す前記メモリ内の位置に応じて、前記ビットストリーム中のビット列を保持すべきレジスタであるバッファに対してロードすべきビット列を特定し、当該ビット列をビットストリームデータとして前記バッファに対してロードするとともに、ロードしたビットストリームデータをビット操作の対象となりうる有効ビット列として設定する初期化ステップと、
前記ビットストリーム中のビット列に対して第1のビット操作を実行すべきとき、前記ビットストリームデータの有効ビット列に対して前記第1のビット操作を実行する第1操作ステップと、
前記第1のビット操作が実行されたとき、当該第1のビット操作に応じて、前記ビットストリームポインタが指し示す前記メモリ内の位置を調整するポインタ調整ステップと、
前記第1のビット操作の実行後、前記ビットストリーム中のビット列に対して第2のビット操作を実行すべきとき、前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さより大きいか否かを判定する判定ステップと、
前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さ以下であるとき、前記ビットストリームポインタが指し示す前記メモリ内の位置に応じて前記バッファにロードすべきビット列を特定し、当該ビット列を前記ビットストリームデータとして前記バッファに対して新たにロードするとともに、新たにロードしたビットストリームデータを有効ビット列として設定する再初期化ステップと、
前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さより大きいとき、前記ビットストリームデータの有効ビット列に対して前記第2のビット操作を実行し、前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さ以下であるとき、前記ビットストリームデータが新たにロードされた後、前記ビットストリームデータの有効ビット列に対して前記第2のビット操作を実行する第2操作ステップと、
を含み、
前記メモリには、一のレジスタに一度の操作でロード可能なひとまとまりのビット列を形成するための所定のメモリ境界が設定されており、
前記再初期化ステップは、前記メモリ境界より上位のメモリ境界までのビット列である上位ビット列を第1のレジスタにロードし、前記メモリ境界より下位のメモリ境界までのビット列である下位ビット列を第2のレジスタにロードし、前記第1および第2のレジスタにそれぞれストアされたビット列のうち前記バッファにロードすべきビット列を統合して、前記ビットストリームデータとして前記バッファにストアするとともに、ストアしたビットストリームデータを有効ビット列として設定することを特徴とするビット操作方法。 - 前記第1操作ステップは、前記第1のビット操作として、前記ビットストリーム中の移動対象のビット列をその移動先となる所定のレジスタに移動すべきとき、前記ビットストリームデータの有効ビット列から前記移動対象のビット列を前記レジスタに転記するとともに、前記有効ビット列から前記移動対象のビット列を除外することを特徴とする請求項1に記載のビット操作方法。
- 前記ポインタ調整ステップは、前記ビットストリームデータの有効ビット列から前記移動対象のビット列が前記レジスタに転記されたとき、前記ビットストリーム中のデータから前記移動対象のビット列を除外するように、前記ビットストリームポインタが指し示す前記メモリ内の位置をシフトさせることを特徴とする請求項2に記載のビット操作方法。
- 前記判定ステップは、前記第1のビット操作の実行後、前記第2のビット操作として、前記ビットストリーム中の移動対象のビット列をその移動先となる所定のレジスタに移動すべきとき、前記ビットストリームデータの有効ビット列の長さが前記移動対象のビット列の長さに32ビットを足した長さより大きいか否かを判定し、
前記第2操作ステップは、前記ビットストリームデータの有効ビット列の長さが前記移動対象のビット列の長さに32ビットを足した長さより大きいとき、前記ビットストリームの有効ビット列から前記移動対象のビット列を前記レジスタに転記するとともに、前記有効ビット列から前記移動対象のビット列を除外することを特徴とする請求項1から3のいずれかに記載のビット操作方法。 - 前記第1操作ステップは、前記第1のビット操作として、前記ビットストリーム中の削除対象のビット列を削除すべきとき、前記ビットストリームデータの有効ビット列から前記削除対象のビット列を除外することを特徴とする請求項1に記載のビット操作方法。
- 前記ポインタ調整ステップは、前記ビットストリームデータの有効ビット列から前記削除対象のビット列が除外されたとき、前記ビットストリーム中のデータから前記削除対象のビット列を除外するように、前記ビットストリームポインタが指し示す前記メモリ内の位置をシフトさせることを特徴とする請求項5に記載のビット操作方法。
- 前記判定ステップは、前記第1のビット操作の実行後、前記第2のビット操作として、前記ビットストリーム中の削除対象のビット列を削除すべきとき、前記有効ビット列の長さが前記削除対象のビット列の長さに32ビットを足した長さより大きいか否かを判定し、
前記第2操作ステップは、前記ビットストリームデータの有効ビット列の長さが前記削除対象のビット列の長さに32ビットを足した長さより大きいとき、前記ビットストリームの有効ビット列から前記削除対象のビット列を除外することを特徴とする請求項1、5または6に記載のビット操作方法。 - メモリにストアされたビットストリーム中のデータに対してビット操作を行うプロセッサであって、
ビットストリームポインタが指し示す前記メモリ内の位置に応じて、前記ビットストリーム中のビット列を保持すべきレジスタであるバッファに対してロードすべきビット列を特定し、当該ビット列をビットストリームデータとして前記バッファに対してロードするとともに、ロードしたビットストリームデータをビット操作の対象となりうる有効ビット列として設定する初期化ステップと、
前記ビットストリーム中のビット列に対して第1のビット操作を実行すべきとき、前記ビットストリームデータの有効ビット列に対して前記第1のビット操作を実行する第1操作ステップと、
前記第1のビット操作が実行されたとき、当該第1のビット操作に応じて、前記ビットストリームポインタが指し示す前記メモリ内の位置を調整するポインタ調整ステップと、
前記第1のビット操作の実行後、前記ビットストリーム中のビット列に対して第2のビット操作を実行すべきとき、前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さより大きいか否かを判定する判定ステップと、
前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さ以下であるとき、前記ビットストリームポインタが指し示す前記メモリ内の位置に応じて前記バッファにロードすべきビット列を特定し、当該ビット列を前記ビットストリームデータとして前記バッファに対して新たにロードするとともに、新たにロードしたビットストリームデータを有効ビット列として設定する再初期化ステップと、
前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さより大きいとき、前記ビットストリームデータの有効ビット列に対して前記第2のビット操作を実行し、前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さ以下であるとき、前記ビットストリームデータが新たにロードされた後、前記ビットストリームデータの有効ビット列に対して前記第2のビット操作を実行する第2操作ステップと、
を実行し、
前記メモリには、一のレジスタに一度の操作でロード可能なひとまとまりのビット列を形成するための所定のメモリ境界が設定されており、
前記再初期化ステップは、前記メモリ境界より上位のメモリ境界までのビット列である上位ビット列を第1のレジスタにロードし、前記メモリ境界より下位のメモリ境界までのビット列である下位ビット列を第2のレジスタにロードし、前記第1および第2のレジスタにそれぞれストアされたビット列のうち前記バッファにロードすべきビット列を統合して、前記ビットストリームデータとして前記バッファにストアするとともに、ストアしたビットストリームデータを有効ビット列として設定することを特徴とするプロセッサ。 - 前記第1操作ステップは、前記第1のビット操作として、前記ビットストリーム中の移動対象のビット列をその移動先となる所定のレジスタに移動すべきとき、前記ビットストリームデータの有効ビット列から前記移動対象のビット列を前記レジスタに転記するとともに、前記有効ビット列から前記移動対象のビット列を除外することを特徴とする請求項8に記載のプロセッサ。
- 前記判定ステップは、前記第1のビット操作の実行後、前記第2のビット操作として、前記ビットストリーム中の移動対象のビット列をその移動先となる所定のレジスタに移動すべきとき、前記ビットストリームデータの有効ビット列の長さが前記移動対象のビット列の長さに32ビットを足した長さより大きいか否かを判定し、
前記第2操作ステップは、前記ビットストリームデータの有効ビット列の長さが前記移動対象のビット列の長さに32ビットを足した長さより大きいとき、前記ビットストリームの有効ビット列から前記移動対象のビット列を前記レジスタに転記するとともに、前記有効ビット列から前記移動対象のビット列を除外することを特徴とする請求項8または9に記載のプロセッサ。 - 前記第1操作ステップは、前記第1のビット操作として、前記ビットストリーム中の削除対象のビット列を削除すべきとき、前記ビットストリームデータの有効ビット列から前記削除対象のビット列を除外することを特徴とする請求項8から10のいずれかに記載のプロセッサ。
- 前記判定ステップは、前記第1のビット操作の実行後、前記第2のビット操作として、前記ビットストリーム中の削除対象のビット列を削除すべきとき、前記有効ビット列の長さが前記削除対象のビット列の長さに32ビットを足した長さより大きいか否かを判定し、
前記第2操作ステップは、前記ビットストリームデータの有効ビット列の長さが前記削除対象のビット列の長さに32ビットを足した長さより大きいとき、前記ビットストリームの有効ビット列から前記削除対象のビット列を除外することを特徴とする請求項8から11のいずれかに記載のプロセッサ。 - メモリにストアされたビットストリーム中のデータに対するビット操作をプロセッサに実行せしめる命令を格納する記憶媒体であって、
前記命令は、
ビットストリームポインタが指し示す前記メモリ内の位置に応じて、前記ビットストリーム中のビット列を保持すべきレジスタであるバッファに対してロードすべきビット列を特定し、当該ビット列をビットストリームデータとして前記バッファに対してロードするとともに、ロードしたビットストリームデータをビット操作の対象となりうる有効ビット列として設定する初期化ステップと、
前記ビットストリーム中のビット列に対して第1のビット操作を実行すべきとき、前記ビットストリームデータの有効ビット列に対して前記第1のビット操作を実行する第1操作ステップと、
前記第1のビット操作が実行されたとき、当該第1のビット操作に応じて、前記ビットストリームポインタが指し示す前記メモリ内の位置を調整するポインタ調整ステップと、
前記第1のビット操作の実行後、前記ビットストリーム中のビット列に対して第2のビット操作を実行すべきとき、前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さより大きいか否かを判定する判定ステップと、
前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さ以下であるとき、前記ビットストリームポインタが指し示す前記メモリ内の位置に応じて前記バッファにロードすべきビット列を特定し、当該ビット列を前記ビットストリームデータとして前記バッファに対して新たにロードするとともに、新たにロードしたビットストリームデータを有効ビット列として設定する再初期化ステップと、
前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さより大きいとき、前記ビットストリームデータの有効ビット列に対して前記第2のビット操作を実行し、前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さ以下であるとき、前記ビットストリームデータが新たにロードされた後、前記ビットストリームデータの有効ビット列に対して前記第2のビット操作を実行する第2操作ステップと、
をプロセッサに実行せしめ、
前記メモリには、一のレジスタに一度の操作でロード可能なひとまとまりのビット列を形成するための所定のメモリ境界が設定されており、
前記再初期化ステップは、前記メモリ境界より上位のメモリ境界までのビット列である上位ビット列を第1のレジスタにロードし、前記メモリ境界より下位のメモリ境界までのビット列である下位ビット列を第2のレジスタにロードし、前記第1および第2のレジスタにそれぞれストアされたビット列のうち前記バッファにロードすべきビット列を統合して、前記ビットストリームデータとして前記バッファにストアするとともに、ストアしたビットストリームデータを有効ビット列として設定することを特徴とする記憶媒体。 - ビットストリーム中のデータに対してビット操作を行うシステムであって、
データをビットストリーム中にストアするメモリと、
前記ビットストリーム中のビット列を保持すべきレジスタであるバッファを備えたプロセッサと、を有し、
該プロセッサは、
ビットストリームポインタが指し示す前記メモリ内の位置に応じて、前記ビットストリーム中のビット列を保持すべきレジスタであるバッファに対してロードすべきビット列を特定し、当該ビット列をビットストリームデータとして前記バッファに対してロードするとともに、ロードしたビットストリームデータをビット操作の対象となりうる有効ビット列として設定する初期化ステップと、
前記ビットストリーム中のビット列に対して第1のビット操作を実行すべきとき、前記ビットストリームデータの有効ビット列に対して前記第1のビット操作を実行する第1操作ステップと、
前記第1のビット操作が実行されたとき、当該第1のビット操作に応じて、前記ビットストリームポインタが指し示す前記メモリ内の位置を調整するポインタ調整ステップと、
前記第1のビット操作の実行後、前記ビットストリーム中のビット列に対して第2のビット操作を実行すべきとき、前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さより大きいか否かを判定する判定ステップと、
前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さ以下であるとき、前記ビットストリームポインタが指し示す前記メモリ内の位置に応じて前記バッファにロードすべきビット列を特定し、当該ビット列を前記ビットストリームデータとして前記バッファに対して新たにロードするとともに、新たにロードしたビットストリームデータを有効ビット列として設定する再初期化ステップと、
前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さより大きいとき、前記ビットストリームデータの有効ビット列に対して前記第2のビット操作を実行し、前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さ以下であるとき、前記ビットストリームデータが新たにロードされた後、前記ビットストリームデータの有効ビット列に対して前記第2のビット操作を実行する第2操作ステップと、を実行し、
前記メモリには、一のレジスタに一度の操作でロード可能なひとまとまりのビット列を形成するための所定のメモリ境界が設定されており、
前記再初期化ステップは、前記メモリ境界より上位のメモリ境界までのビット列である上位ビット列を第1のレジスタにロードし、前記メモリ境界より下位のメモリ境界までのビット列である下位ビット列を第2のレジスタにロードし、前記第1および第2のレジスタにそれぞれストアされたビット列のうち前記バッファにロードすべきビット列を統合して、前記ビットストリームデータとして前記バッファにストアするとともに、ストアしたビットストリームデータを有効ビット列として設定することを特徴とするシステム。 - 請求項14に記載のシステムにおいて、
前記メモリと前記プロセッサは、単一なチップ上に集積されていることを特徴とするシステム。 - 請求項14に記載のシステムにおいて、
前記メモリと前記プロセッサは、互いに独立にして設けられたことを特徴とするシステム。 - ビットストリーム中のデータに対してビット操作を行うコンピュータ処理システムであって、
ユーザ入力デバイスと、
表示装置を接続するためのディスプレイインターフェースと、
データをビットストリーム中にストアするメモリと、
1つ以上の処理エレメントを有するプロセッサとを備え、
少なくとも1つの前記処理エレメントは、前記ビットストリーム中のビット列を保持すべきレジスタであるバッファを備え、
前記プロセッサは、
ビットストリームポインタが指し示す前記メモリ内の位置に応じて、前記ビットストリーム中のビット列を保持すべきレジスタであるバッファに対してロードすべきビット列を特定し、当該ビット列をビットストリームデータとして前記バッファに対してロードするとともに、ロードしたビットストリームデータをビット操作の対象となりうる有効ビット列として設定する初期化ステップと、
前記ビットストリーム中のビット列に対して第1のビット操作を実行すべきとき、前記ビットストリームデータの有効ビット列に対して前記第1のビット操作を実行する第1操作ステップと、
前記第1のビット操作が実行されたとき、当該第1のビット操作に応じて、前記ビットストリームポインタが指し示す前記メモリ内の位置を調整するポインタ調整ステップと、
前記第1のビット操作の実行後、前記ビットストリーム中のビット列に対して第2のビット操作を実行すべきとき、前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さより大きいか否かを判定する判定ステップと、
前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さ以下であるとき、前記ビットストリームポインタが指し示す前記メモリ内の位置に応じて前記バッファにロードすべきビット列を特定し、当該ビット列を前記ビットストリームデータとして前記バッファに対して新たにロードするとともに、新たにロードしたビットストリームデータを有効ビット列として設定する再初期化ステップと、
前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さより大きいとき、前記ビットストリームデータの有効ビット列に対して前記第2のビット操作を実行し、前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さ以下であるとき、前記ビットストリームデータが新たにロードされた後、前記ビットストリームデータの有効ビット列に対して前記第2のビット操作を実行する第2操作ステップと、を実行し、
前記メモリには、一のレジスタに一度の操作でロード可能なひとまとまりのビット列を形成するための所定のメモリ境界が設定されており、
前記再初期化ステップは、前記メモリ境界より上位のメモリ境界までのビット列である上位ビット列を第1のレジスタにロードし、前記メモリ境界より下位のメモリ境界までのビット列である下位ビット列を第2のレジスタにロードし、前記第1および第2のレジスタにそれぞれストアされたビット列のうち前記バッファにロードすべきビット列を統合して、前記ビットストリームデータとして前記バッファにストアするとともに、ストアしたビットストリームデータを有効ビット列として設定することを特徴とするコンピュータ処理システム。 - ビットストリーム中のデータに対してビット操作を行うコンピュータのネットワークであって、
通信ネットワークを介して互いに接続された複数のコンピュータ処理システムを有し、
各前記コンピュータは、
ユーザ入力デバイスと、
表示装置を接続するためのディスプレイインターフェースと、
データをビットストリーム中にストアするメモリと、
1つ以上の処理エレメントを有するプロセッサとを備え、
少なくとも1つの前記処理エレメントは、前記ビットストリーム中のビット列を保持すべきレジスタであるバッファを備え、
前記プロセッサは、
ビットストリームポインタが指し示す前記メモリ内の位置に応じて、前記ビットストリーム中のビット列を保持すべきレジスタであるバッファに対してロードすべきビット列を特定し、当該ビット列をビットストリームデータとして前記バッファに対してロードするとともに、ロードしたビットストリームデータをビット操作の対象となりうる有効ビット列として設定する初期化ステップと、
前記ビットストリーム中のビット列に対して第1のビット操作を実行すべきとき、前記ビットストリームデータの有効ビット列に対して前記第1のビット操作を実行する第1操作ステップと、
前記第1のビット操作が実行されたとき、当該第1のビット操作に応じて、前記ビットストリームポインタが指し示す前記メモリ内の位置を調整するポインタ調整ステップと、
前記第1のビット操作の実行後、前記ビットストリーム中のビット列に対して第2のビット操作を実行すべきとき、前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さより大きいか否かを判定する判定ステップと、
前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さ以下であるとき、前記ビットストリームポインタが指し示す前記メモリ内の位置に応じて前記バッファにロードすべきビット列を特定し、当該ビット列を前記ビットストリームデータとして前記バッファに対して新たにロードするとともに、新たにロードしたビットストリームデータを有効ビット列として設定する再初期化ステップと、
前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さより大きいとき、前記ビットストリームデータの有効ビット列に対して前記第2のビット操作を実行し、前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さ以下であるとき、前記ビットストリームデータが新たにロードされた後、前記ビットストリームデータの有効ビット列に対して前記第2のビット操作を実行する第2操作ステップと、を実行し、
前記メモリには、一のレジスタに一度の操作でロード可能なひとまとまりのビット列を形成するための所定のメモリ境界が設定されており、
前記再初期化ステップは、前記メモリ境界より上位のメモリ境界までのビット列である上位ビット列を第1のレジスタにロードし、前記メモリ境界より下位のメモリ境界までのビット列である下位ビット列を第2のレジスタにロードし、前記第1および第2のレジスタにそれぞれストアされたビット列のうち前記バッファにロードすべきビット列を統合して、前記ビットストリームデータとして前記バッファにストアするとともに、ストアしたビットストリームデータを有効ビット列として設定することを特徴とするコンピュータのネットワーク。 - メモリにストアされたビットストリーム中のビット列について、ビットストリームポインタが指し示す前記メモリ内の位置に応じて、前記ビットストリーム中のビット列を保持すべきレジスタであるバッファに対してロードすべきビット列を特定し、当該ビット列をビットストリームデータとして前記バッファに対してロードするとともに、ロードしたビットストリームデータをビット操作の対象となりうる有効ビット列として設定する初期化ステップと、
前記ビットストリーム中のビット列に対して第1のビット操作を実行すべきとき、前記ビットストリームデータの有効ビット列に対して前記第1のビット操作を実行する第1操作ステップと、
前記第1のビット操作が実行されたとき、当該第1のビット操作に応じて、前記ビットストリームポインタが指し示す前記メモリ内の位置を調整するポインタ調整ステップと、
前記第1のビット操作の実行後、前記ビットストリーム中のビット列に対して第2のビット操作を実行すべきとき、前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さより大きいか否かを判定する判定ステップと、
前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さ以下であるとき、前記ビットストリームポインタが指し示す前記メモリ内の位置に応じて前記バッファにロードすべきビット列を特定し、当該ビット列を前記ビットストリームデータとして前記バッファに対して新たにロードするとともに、新たにロードしたビットストリームデータを有効ビット列として設定する再初期化ステップと、
前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さより大きいとき、前記ビットストリームデータの有効ビット列に対して前記第2のビット操作を実行し、前記ビットストリームデータの有効ビット列の長さが前記第2のビット操作の対象となるビット列の長さに32ビットを足した長さ以下であるとき、前記ビットストリームデータが新たにロードされた後、前記ビットストリームデータの有効ビット列に対して前記第2のビット操作を実行する第2操作ステップと、
をプロセッサに実行せしめ、
前記メモリには、一のレジスタに一度の操作でロード可能なひとまとまりのビット列を形成するための所定のメモリ境界が設定されており、
前記再初期化ステップは、前記メモリ境界より上位のメモリ境界までのビット列である上位ビット列を第1のレジスタにロードし、前記メモリ境界より下位のメモリ境界までのビット列である下位ビット列を第2のレジスタにロードし、前記第1および第2のレジスタにそれぞれストアされたビット列のうち前記バッファにロードすべきビット列を統合して、前記ビットストリームデータとして前記バッファにストアするとともに、ストアしたビットストリームデータを有効ビット列として設定することを特徴とするプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/959,613 US7334116B2 (en) | 2004-10-06 | 2004-10-06 | Bit manipulation on data in a bitstream that is stored in a memory having an address boundary length |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006107508A JP2006107508A (ja) | 2006-04-20 |
JP4439455B2 true JP4439455B2 (ja) | 2010-03-24 |
Family
ID=35447424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005291363A Active JP4439455B2 (ja) | 2004-10-06 | 2005-10-04 | ビット操作方法、プロセッサ、システム、コンピュータ処理システム、コンピュータのネットワーク |
Country Status (5)
Country | Link |
---|---|
US (1) | US7334116B2 (ja) |
EP (1) | EP1800211A2 (ja) |
JP (1) | JP4439455B2 (ja) |
TW (1) | TWI318372B (ja) |
WO (1) | WO2006038718A2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7421566B2 (en) * | 2005-08-12 | 2008-09-02 | International Business Machines Corporation | Implementing instruction set architectures with non-contiguous register file specifiers |
KR100902007B1 (ko) * | 2007-02-28 | 2009-06-11 | 삼성전자주식회사 | 비디오 스트림 처리 장치 |
US9378751B2 (en) * | 2008-06-19 | 2016-06-28 | Broadcom Corporation | Method and system for digital gain processing in a hardware audio CODEC for audio transmission |
US8898439B2 (en) * | 2009-07-17 | 2014-11-25 | Macronix International Co., Ltd. | Serial flash memory and address transmission method thereof |
US9135008B2 (en) | 2009-09-24 | 2015-09-15 | Freescale Semiconductor, Inc. | Device and method for performing conditional bitwise set/clear/toggle manipulations in a general purpose register |
US9003170B2 (en) * | 2009-12-22 | 2015-04-07 | Intel Corporation | Bit range isolation instructions, methods, and apparatus |
JP5598337B2 (ja) * | 2011-01-12 | 2014-10-01 | ソニー株式会社 | メモリアクセス制御回路、プリフェッチ回路、メモリ装置および情報処理システム |
CN103460181B (zh) * | 2011-03-30 | 2017-10-24 | 飞思卡尔半导体公司 | 集成电路器件和执行其位操纵的方法 |
JP5853177B2 (ja) * | 2011-04-08 | 2016-02-09 | パナソニックIpマネジメント株式会社 | データ処理装置、及びデータ処理方法 |
US20130042091A1 (en) * | 2011-08-12 | 2013-02-14 | Qualcomm Incorporated | BIT Splitting Instruction |
CN104011660B (zh) * | 2011-12-22 | 2017-03-01 | 英特尔公司 | 用于处理位流的基于处理器的装置和方法 |
JP6179149B2 (ja) * | 2013-03-19 | 2017-08-16 | 富士通株式会社 | データ処理装置 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US583793A (en) | 1897-06-01 | Island | ||
US3793631A (en) | 1972-09-22 | 1974-02-19 | Westinghouse Electric Corp | Digital computer apparatus operative with jump instructions |
US4095265A (en) | 1976-06-07 | 1978-06-13 | International Business Machines Corporation | Memory control structure for a pipelined mini-processor system |
US4363091A (en) | 1978-01-31 | 1982-12-07 | Intel Corporation | Extended address, single and multiple bit microprocessor |
JPS6019809B2 (ja) | 1979-12-26 | 1985-05-18 | 株式会社日立製作所 | デ−タ処理装置 |
US6552730B1 (en) | 1984-10-05 | 2003-04-22 | Hitachi, Ltd. | Method and apparatus for bit operational process |
US5265204A (en) | 1984-10-05 | 1993-11-23 | Hitachi, Ltd. | Method and apparatus for bit operational process |
JPS6473430A (en) | 1987-09-14 | 1989-03-17 | Hudson Soft Co Ltd | Memory access control device |
JP3181307B2 (ja) | 1991-04-25 | 2001-07-03 | 株式会社東芝 | 命令処理装置 |
JP2984463B2 (ja) | 1991-06-24 | 1999-11-29 | 株式会社日立製作所 | マイクロコンピュータ |
US5784631A (en) | 1992-06-30 | 1998-07-21 | Discovision Associates | Huffman decoder |
US5465374A (en) | 1993-01-12 | 1995-11-07 | International Business Machines Corporation | Processor for processing data string by byte-by-byte |
US5550972A (en) | 1993-06-30 | 1996-08-27 | Microsoft Corporation | Method and apparatus for efficient transfer of data to memory |
US6058473A (en) | 1993-11-30 | 2000-05-02 | Texas Instruments Incorporated | Memory store from a register pair conditional upon a selected status bit |
US5863359A (en) | 1995-06-09 | 1999-01-26 | Aluminum Company Of America | Aluminum alloy products suited for commercial jet aircraft wing members |
US5793371A (en) | 1995-08-04 | 1998-08-11 | Sun Microsystems, Inc. | Method and apparatus for geometric compression of three-dimensional graphics data |
US5842004A (en) | 1995-08-04 | 1998-11-24 | Sun Microsystems, Inc. | Method and apparatus for decompression of compressed geometric three-dimensional graphics data |
US5812147A (en) | 1996-09-20 | 1998-09-22 | Silicon Graphics, Inc. | Instruction methods for performing data formatting while moving data between memory and a vector register file |
US5821886A (en) | 1996-10-18 | 1998-10-13 | Samsung Electronics Company, Ltd. | Variable length code detection in a signal processing system |
US5826074A (en) | 1996-11-22 | 1998-10-20 | S3 Incorporated | Extenstion of 32-bit architecture for 64-bit addressing with shared super-page register |
US5835793A (en) | 1997-05-02 | 1998-11-10 | Texas Instruments Incorporated | Device and method for extracting a bit field from a stream of data |
JP3235555B2 (ja) | 1997-05-14 | 2001-12-04 | 日本電気株式会社 | 信号復号装置及び信号復号方法並びに信号復号処理をコンピュータに行わせるためのプログラムを記録した記録媒体 |
US6216218B1 (en) | 1997-11-03 | 2001-04-10 | Donald L. Sollars | Processor having a datapath and control logic constituted with basis execution blocks |
JP3570188B2 (ja) | 1997-12-25 | 2004-09-29 | 富士通株式会社 | 可変長符号処理機構を有するデータ処理装置 |
WO1999067883A2 (en) | 1998-06-25 | 1999-12-29 | Equator Technologies, Inc. | Processing circuit and method for variable-length coding and decoding |
EP0992916A1 (en) | 1998-10-06 | 2000-04-12 | Texas Instruments Inc. | Digital signal processor |
US6332188B1 (en) | 1998-11-06 | 2001-12-18 | Analog Devices, Inc. | Digital signal processor with bit FIFO |
US6247112B1 (en) | 1998-12-30 | 2001-06-12 | Sony Corporation | Bit manipulation instructions |
US6397324B1 (en) | 1999-06-18 | 2002-05-28 | Bops, Inc. | Accessing tables in memory banks using load and store address generators sharing store read port of compute register file separated from address register file |
US6571330B1 (en) | 2000-01-14 | 2003-05-27 | Advanced Micro Devices, Inc. | Address size and operand size prefix overrides for default sizes defined by an operating mode of a processor |
US6560694B1 (en) | 2000-01-14 | 2003-05-06 | Advanced Micro Devices, Inc. | Double prefix overrides to provide 16-bit operand size in a 32/64 operating mode |
JP2001216194A (ja) | 2000-01-28 | 2001-08-10 | Sony Corp | 演算処理装置 |
US6539059B1 (en) | 2000-03-02 | 2003-03-25 | Sun Microsystems, Inc. | Apparatus and method for efficiently scalable digital video decoding |
KR100515413B1 (ko) | 2000-08-31 | 2005-09-15 | 매그나칩 반도체 유한회사 | 비트 스트림 처리기 |
US6671428B1 (en) | 2000-12-01 | 2003-12-30 | Bayspec, Inc. | Wavelength selective optical cross switch and optical add/drop multiplexer using volume phase grating and array of micro electro mechanical mirrors |
US6671791B1 (en) | 2001-06-15 | 2003-12-30 | Advanced Micro Devices, Inc. | Processor including a translation unit for selectively translating virtual addresses of different sizes using a plurality of paging tables and mapping mechanisms |
US6781589B2 (en) | 2001-09-06 | 2004-08-24 | Intel Corporation | Apparatus and method for extracting and loading data to/from a buffer |
US6653955B1 (en) | 2002-05-09 | 2003-11-25 | Lsi Logic Corporation | Multi-symbol variable length code decoder |
-
2004
- 2004-10-06 US US10/959,613 patent/US7334116B2/en active Active
-
2005
- 2005-10-04 JP JP2005291363A patent/JP4439455B2/ja active Active
- 2005-10-05 EP EP05793795A patent/EP1800211A2/en not_active Withdrawn
- 2005-10-05 WO PCT/JP2005/018738 patent/WO2006038718A2/en active Application Filing
- 2005-10-06 TW TW094135014A patent/TWI318372B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JP2006107508A (ja) | 2006-04-20 |
EP1800211A2 (en) | 2007-06-27 |
TWI318372B (en) | 2009-12-11 |
WO2006038718A2 (en) | 2006-04-13 |
TW200627265A (en) | 2006-08-01 |
WO2006038718A3 (en) | 2006-07-13 |
US20060101246A1 (en) | 2006-05-11 |
US7334116B2 (en) | 2008-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4439455B2 (ja) | ビット操作方法、プロセッサ、システム、コンピュータ処理システム、コンピュータのネットワーク | |
JP7284199B2 (ja) | アルゴリズム整合、機能無効化、または性能制限による後方互換性 | |
CN116841920B (zh) | 用于执行存储器压缩的系统和方法 | |
US6145017A (en) | Data alignment system for a hardware accelerated command interpreter engine | |
TWI644208B (zh) | 藉由對硬體資源之限制實現的向後相容性 | |
US6061783A (en) | Method and apparatus for manipulation of bit fields directly in a memory source | |
US7844752B2 (en) | Method, apparatus and program storage device for enabling multiple asynchronous direct memory access task executions | |
JPS61107434A (ja) | デ−タ処理装置 | |
US7082499B2 (en) | External memory control device regularly reading ahead data from external memory for storage in cache memory, and data driven type information processing apparatus including the same | |
JP4130465B2 (ja) | メモリ転送処理サイズが異なるプロセッサに関してアトミックな処理を実行するための技術 | |
JP2001216194A (ja) | 演算処理装置 | |
JP2017502434A (ja) | 浮動小数点レジスタエイリアシングのためのプロセッサ及び方法 | |
KR20210133257A (ko) | 링 버퍼 업데이트들의 핸들링 | |
WO1997048042A1 (en) | An operand cache for reducing latency of read instructions | |
US6684267B2 (en) | Direct memory access controller, and direct memory access control method | |
TWI670648B (zh) | 使用原子序列支援寬操作的方法和裝置 | |
WO2024146076A1 (zh) | 乱序处理器中队列的队列项选择方法及装置 | |
US20070079109A1 (en) | Simulation apparatus and simulation method | |
US11914972B2 (en) | Element ordering handling in a ring buffer | |
US8645791B2 (en) | Data cache controller, devices having the same, and method of operating the same | |
US6801988B2 (en) | Data buffer for block unit data transfer to SDRAM | |
US10515036B2 (en) | Bit manipulation capable direct memory access | |
JPH02293945A (ja) | マイクロプロセツサ | |
JP3006204B2 (ja) | 情報処理装置 | |
JP2004021896A (ja) | キャッシュフィル制御方法及びcpu |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080729 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080805 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081006 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091020 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091209 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100105 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100105 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130115 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4439455 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130115 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140115 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |