JP2000284960A - Bit field processor - Google Patents

Bit field processor

Info

Publication number
JP2000284960A
JP2000284960A JP2000062616A JP2000062616A JP2000284960A JP 2000284960 A JP2000284960 A JP 2000284960A JP 2000062616 A JP2000062616 A JP 2000062616A JP 2000062616 A JP2000062616 A JP 2000062616A JP 2000284960 A JP2000284960 A JP 2000284960A
Authority
JP
Japan
Prior art keywords
bit
circuit
signal
bits
stage
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
JP2000062616A
Other languages
Japanese (ja)
Inventor
Gilbert Laurenti
ラウレンティ ジルベルト
Jean-Pierre Giacalone
− ピエレ ジアカローネ ジーン
Ego Emmanuel
エゴ エマニュエル
Marc Couvrat
コウベラト マルク
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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
Priority claimed from EP99400557A external-priority patent/EP0992882A3/en
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JP2000284960A publication Critical patent/JP2000284960A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve the performance of a processing engine, though not dedicated, such as a digital signal processor for example. SOLUTION: This processor is provided with an executing device 802 for a processing engine including a first head partial circuit 804 for obtaining an intermediate signal 818 from an input signal. The executing device 802 includes another circuit 806 which receives the intermediate signal 818, and generates a final signal by operating this intermediate signal. The other circuit 806 is normally constituted so as to be integrated with the first circuit so that one or more signal processing functions can be executed, and generally each circuit is included in each function. The intermediate signal is constituted so as to be used by each different circuit.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明はビット・フィールド
を操作するよう構成可能な処理エンジンに関係し、特に
専用ではないが、ディジタル信号プロセッサに関係す
る。
The present invention relates to a processing engine configurable to manipulate bit fields, and more particularly, but not exclusively, to a digital signal processor.

【0002】[0002]

【従来の技術】多数の異なる型式の処理エンジンが公知
であり、中でもマイクロプロセッサはその1例である。
例えば、ディジタル信号プロセッサ(DSP)が広範囲
に、特に特定応用に使用されている。DSPは標準的に
関係する応用例の性能を最適化するよう構成され、これ
を実施するため、より精巧な実行装置と命令セットを使
用している。
BACKGROUND OF THE INVENTION Many different types of processing engines are known, of which the microprocessor is one example.
For example, digital signal processors (DSPs) are used extensively, especially for certain applications. DSPs are typically configured to optimize the performance of the applications concerned, and use more sophisticated execution units and instruction sets to accomplish this.

【0003】[0003]

【発明が解決しようとする課題】DSPの特定応用例は
電気通信機器である。現代の電気通信装置はシステムを
通して送信されるデータの高レベルの処理、例えばチャ
ネル・コーディング及びデコーディング、インターリー
ビング及びデインターリービング又は巡回冗長検査のよ
うな誤り検査又は訂正技術を必要としている。このよう
な処理は、電気通信装置を通して送信されるデータ・パ
ケットに展開又はデータ・パケットから抽出されるデー
タ内のビット・フィールドを操作し、送信チャネルの堅
牢性又は一体性を改良又は強化するのに適した方法で分
割、再構成されたデータを与える。その他の応用例は純
粋な信号処理で、信号処理タスクを通して良好な精度レ
ベルを保持するため、サンプルされた信号を表す数値表
を正規化することがしばしば必要である。このような正
規化は浮動小数点演算時に発生する。標準的には、仮数
のような正規化数は、最大位ビット(msb)位置にその
符号ビットと、次ぎの低位位置に符号ビットの補数を有
する(S、not(S)、X、Y、...、Zの形式)。正規
化されていない仮数はその最大桁からその最小桁へ1つ
以上の符号ビットを有する(S、S、...、not(S)、
X、Y、...、Zの形式)。正規化は数内の「S、not
(S)」列のビット位置を発見し(指数計算と通常呼ば
れる)、最上位ビットへの「S、not(S)」列のシフ
トを通常含む。しばしば、仮数値のmsbは仮数を含むデ
ータ語のmsbと同じではない。例えば、40ビット・デ
ータ語では、仮数値のmsb、又は正規化符号ビットはビ
ット31である。残りの位のビットは浮動小数点演算時
のオーバーフロー・ビットとしての役割を果たす。従っ
て、たとえ正規化仮数であっても、データ語のmsbから
仮数のmsbへ符号ビットの列があり得る。
A particular application of a DSP is in telecommunications equipment. Modern telecommunication devices require high-level processing of data transmitted through the system, for example, error checking or correction techniques such as channel coding and decoding, interleaving and deinterleaving or cyclic redundancy checking. Such processing manipulates the bit fields in the data that are expanded or extracted from data packets transmitted through the telecommunications device to improve or enhance the robustness or integrity of the transmission channel. To give the divided and reconstructed data in a suitable way. Another application is pure signal processing, where it is often necessary to normalize a numerical table representing the sampled signal in order to maintain a good level of accuracy throughout the signal processing task. Such normalization occurs during floating point arithmetic. Normally, a normalized number such as a mantissa has its sign bit in the most significant bit (msb) position and the complement of the sign bit in the next lower position (S, not (S), X, Y, ..., Z format). The unnormalized mantissa has one or more sign bits from its most significant digit to its least significant digit (S, S, ..., not (S),
X, Y, ..., Z formats). Normalization is based on "S, not
Find the bit position of the (S) "column (commonly referred to as exponent calculation) and typically involve shifting the" S, not (S) "column to the most significant bit. Often, the mantissa value msb is not the same as the data word msb containing the mantissa. For example, in a 40-bit data word, the mantissa msb, or normalized sign bit, is bit 31. The remaining bits serve as overflow bits during floating point operations. Thus, even with a normalized mantissa, there can be a sequence of sign bits from the data word msb to the mantissa msb.

【0004】ビット処理技術をソフトウェア又はハード
ウェアで実装することが知られている。ソフトウェア実
装は一般的に遅い性能と大きなコード寸法を有する。ハ
ードウェア実装は一般的に柔軟でなく、異なるプロセッ
サ装置、例えば、固定小数点モジュールに1つ、又浮動
小数点モジュールに別なものが物理的に配置されてい
る。加えて、ビット・フィールド抽出又は展開機能は、
抽出すべきビットがデータ・ソース、すなわちデータ・
メモリの連続域にあることを必要とする限定された方法
で実装されている。これは、既知のビット・フィールド
抽出又は展開機能がマスク論理と組合せたシフタを利用
しているためである。さらに、シフタはビット・フィー
ルド抽出又は展開機能のみを実行するよう限定され、他
のタスクと並列に使用することは不可能である。
[0004] It is known to implement bit processing techniques in software or hardware. Software implementations generally have slow performance and large code size. Hardware implementations are generally inflexible, with different processor devices physically located, for example, one for fixed-point modules and another for floating-point modules. In addition, the bit field extraction or expansion function
The bit to be extracted is the data source,
It is implemented in a limited way that requires it to be in a contiguous area of memory. This is because known bit field extraction or expansion functions utilize shifters in combination with mask logic. Furthermore, the shifter is limited to performing only bit field extraction or expansion functions, and cannot be used in parallel with other tasks.

【0005】本発明の目的は、例えば専用ではないが、
ディジタル信号プロセッサのような処理エンジンの性能
を改良する方向に向けられたビット・フィールド・プロ
セッサを提供することにある。
The purpose of the present invention is, for example, not exclusively,
It is an object of the present invention to provide a bit field processor directed at improving the performance of a processing engine such as a digital signal processor.

【0006】[0006]

【課題を解決するための手段】本発明の特定の及び望ま
しい特徴は添付の独立及び従属特許請求の範囲に記載さ
れている。従属特許請求の範囲からの機能の組合せは独
立特許請求の範囲の特徴を適切に組合せたもので、請求
の範囲には明示的には記載していない。
SUMMARY OF THE INVENTION Particular and preferred features of the invention are set forth in the accompanying independent and dependent claims. Combinations of functions from the dependent claims are a proper combination of the features of the independent claims and are not expressly recited in the claims.

【0007】本発明の第1の特徴によると、中間信号入
力を得るようにされた第1回路を含む処理マシンの実行
装置が提供される。これは又、中間信号を受取りこれを
操作し、及び/又は入力信号及び/又は関係信号から得
られる別の信号を与えるために中間信号に従って、入力
信号と関係する信号を受取り操作する別の回路も備え
る。
According to a first aspect of the present invention, there is provided an execution apparatus for a processing machine including a first circuit adapted to obtain an intermediate signal input. It may also be another circuit for receiving and manipulating the intermediate signal and / or receiving and manipulating a signal related to the input signal according to the intermediate signal to provide another signal derived from the input signal and / or the related signal. Also have.

【0008】本発明による第1実施例では、別の回路
は、第1回路と共に動作可能で、複合ビット・カウンタ
を形成し、入力信号のビット・カウントを与えるために
中間信号を処理するテール部分回路を含む。
In a first embodiment according to the invention, another circuit is operable with the first circuit to form a composite bit counter and to process the intermediate signal to provide a bit count of the input signal. Including circuits.

【0009】発明の第2実施例によると、別の回路は、
第1回路と共に動作可能で、複合ビット抽出回路を形成
し、入力信号に従って関係信号から抽出されたビット列
を与えるために中間信号を利用する回路を含む。
According to a second embodiment of the invention, another circuit comprises:
A circuit operable with the first circuit to form a composite bit extraction circuit and includes a circuit utilizing the intermediate signal to provide a bit string extracted from the related signal according to the input signal.

【0010】発明の第3実施例によると、別の回路は、
前記回路と共に動作可能で複合ビット展開回路を形成す
る回路を含む。中間信号を利用して、前記入力信号に従
って前記関係信号から展開したビット列を与える。
According to a third embodiment of the invention, another circuit comprises:
And a circuit operable with said circuit to form a composite bit expansion circuit. Using the intermediate signal, a bit string developed from the related signal according to the input signal is provided.

【0011】発明の第4実施例によると、別の回路は、
第1回路と共に動作可能で、複合指数カウント回路を形
成し、入力信号を正規化するため前記中間信号を利用し
てシフト値を与えるテール部分回路を含む。
According to a fourth embodiment of the invention, another circuit comprises:
A tail sub-circuit operable with the first circuit to form a composite index counting circuit and to provide a shift value using the intermediate signal to normalize an input signal.

【0012】本発明による以上の実施例を2つ以上の実
施例の任意の組み合わせで共に与えてもよい。このよう
な組合せの利点は、信号処理応用例に標準的に要求され
るビット処理機能に共通のアーキテクチャが与えられる
点である。特に、ビット・カウント回路、ビット・フィ
ールド抽出及びビット・フィールド展開回路及び指数カ
ウント回路は、別個の信号処理機能を実行するための別
個の固有回路により利用可能な信号を発生する第1又は
ヘッド部分回路を共有する共通アーキテクチャに組合せ
てもよい。このようなアーキテクチャは集積回路上で信
号処理機能により必要とされる表面積を有効に減少さ
せ、従って前記集積回路のコストを減少させ、又はその
集積回路に別の回路と機能を載せる機会を提供する。
The above embodiments according to the present invention may be provided together in any combination of two or more embodiments. The advantage of such a combination is that a common architecture is provided for the bit processing functions typically required for signal processing applications. In particular, the bit count circuit, the bit field extraction and bit field expansion circuit, and the exponent count circuit are first or head portions that generate signals usable by separate intrinsic circuits for performing separate signal processing functions. They may be combined into a common architecture sharing circuits. Such an architecture effectively reduces the surface area required by signal processing functions on an integrated circuit, thus reducing the cost of the integrated circuit or providing an opportunity to mount another circuit and function on the integrated circuit. .

【0013】加えて、共通アーキテクチャは、例えばア
キュムレータ・レジスタの非隣接位置からのビットのよ
うな非隣接ビットのビット・フィールド抽出及び展開機
能をサポートする。さらに、共通アーキテクチャはプロ
セッサ・タイミング列内の単一サイクル動作を与える。
In addition, the common architecture supports bit field extraction and decompression of non-adjacent bits, for example, bits from non-adjacent locations in the accumulator register. Further, the common architecture provides for single cycle operation within the processor timing train.

【0014】別の回路は、中間信号に従って関係信号に
各信号処理操作を実行し、及び/又は入力信号から各信
号プロセッサ結果を得るために中間信号に各操作を実行
する別個の回路を標準的に含む。前記別個の回路の各々
はビット展開又は抽出、ビット・カウント又は指数カウ
ント回路のような1つ以上の望ましい実施例に向けるこ
とも可能である。
Another circuit typically performs a separate circuit to perform each signal processing operation on the related signal according to the intermediate signal and / or perform each operation on the intermediate signal to obtain each signal processor result from the input signal. Included. Each of the separate circuits may be directed to one or more preferred embodiments, such as a bit expansion or extraction, bit count or exponent count circuit.

【0015】第1回路は、別の回路による利用に向けて
最適に構成されるよう中間信号を得るように適合されて
いることが望ましい。さらに、第1回路は、入力信号の
部分を操作するよう適合され、前記部分は最適に構成さ
れた中間信号を与えるような寸法であることが望まし
い。前記最適構成は、第1及び別の回路を実装するのに
必要な処理素子又はゲート数を減少し、これにより共通
アーキテクチャが必要とする表面積を減少する方向に向
けられる。
Preferably, the first circuit is adapted to obtain an intermediate signal so as to be optimally configured for use by another circuit. Further, the first circuit is adapted to manipulate a portion of the input signal, said portion preferably being dimensioned to provide an optimally configured intermediate signal. The optimal configuration is directed toward reducing the number of processing elements or gates required to implement the first and other circuits, thereby reducing the surface area required by the common architecture.

【0016】第1回路と別の回路の別個部分は各信号操
作用の各複合信号処理回路を与え、前記各複合信号処理
回路は前記各複合信号処理回路のその他と非同時的に形
成される。従って、共通アーキテクチャは並列に動作す
るよう構成され、これにより強化された動作速度、又は
同時の複合信号処理回路を与える。
A separate portion of the first circuit and another circuit provides each composite signal processing circuit for each signal operation, wherein each composite signal processing circuit is formed non-simultaneously with the other of the composite signal processing circuits. . Thus, the common architecture is configured to operate in parallel, thereby providing enhanced operating speed or simultaneous composite signal processing circuitry.

【0017】標準的には、第1回路は入力信号の各部分
のデータ属性の発生回数を決定するよう動作し、ここで
入力信号は2進数列(ビット)を一般的に含む。各部分
はビット群を含むことが適切である。2進数の列を含む
入力信号のデータ属性は「セット(set)」又は「非セ
ット(not set)」の一方である。
Typically, the first circuit operates to determine the number of occurrences of the data attribute for each portion of the input signal, where the input signal generally comprises a binary sequence (bits). Suitably, each part includes a group of bits. The data attribute of the input signal containing the binary sequence is one of "set" or "not set".

【0018】信号処理機能は、機能を実行するために入
力信号又は入力信号の部分のビット数の知識を一般的に
必要とするため、「ビット」カウントを実行する第1回
路を設けることが有利である。従って、前記ビット・カ
ウント回路は信号処理機能用の共通アーキテクチャの適
切なヘッド部分又は第1回路を与える。
Since the signal processing function generally requires knowledge of the number of bits in the input signal or portions of the input signal to perform the function, it is advantageous to provide a first circuit that performs a "bit" count. It is. Thus, the bit count circuit provides a suitable head portion or first circuit of a common architecture for signal processing functions.

【0019】一般的に第1回路の第1段は入力信号の各
部分と各々関係するディジタル・カウンタを含み、関係
部分のデータ属性の発生数を表す出力を与える。
Generally, the first stage of the first circuit includes a digital counter each associated with a respective portion of the input signal and provides an output indicative of the number of occurrences of the data attribute of the relevant portion.

【0020】各部分は一般的に4ビットの群を含み、デ
ィジタル・カウンタは4入力を含む。望ましい実施例で
は、ディジタル・カウンタは「4対2(four into tw
o)」カウンタを含む。
Each part typically includes a group of four bits, and the digital counter includes four inputs. In the preferred embodiment, the digital counter is "4 to 2 (four into tw
o) Includes a counter.

【0021】第1段の適切な構成は、入力信号のビット
・カウントを得るための縮減ツリー(reduction tree)
の第1段のそれであり、第1回路の第2段は入力信号の
ビット・カウントを得るための縮減ツリーの第2段のよ
うに構成されるのが適当である。望ましい実施例では、
第2段が中間信号を与える。
A suitable first stage configuration is a reduction tree for obtaining a bit count of the input signal.
And the second stage of the first circuit is suitably configured as the second stage of a reduced tree for obtaining the bit count of the input signal. In a preferred embodiment,
The second stage provides an intermediate signal.

【0022】一般的に、第2段は入力信号の2つの隣接
する部分のビット・カウントを表す信号を出力する。
Generally, the second stage outputs a signal representing the bit count of two adjacent portions of the input signal.

【0023】本発明の第1実施例によると、テール部分
回路は、第2段からの中間信号を受取り、入力信号のビ
ット・カウントを与える縮減ツリーとして構成可能であ
る。縮減ツリーは公知の構成である「ワラス状(Wallac
e-like)」縮減ツリーであるのが有利である。中間信号
は隣接する各部分に対して古典的にコード化されたビッ
ト・カウントを含むことが望ましい。
According to a first embodiment of the present invention, the tail subcircuit can be configured as a reduced tree that receives the intermediate signal from the second stage and provides a bit count of the input signal. The reduced tree has a well-known configuration such as “Wallac
e-like) "is advantageously a reduced tree. Preferably, the intermediate signal contains a classically coded bit count for each adjacent part.

【0024】本発明の第2実施例によると、別の回路
は、関係信号と入力信号を対応する群に分割し、関係信
号群に位置するビットを対応する入力信号群により決定
される位置へシフトする装置を含む。別の回路はさら
に、シフトしたビットを含む分割装置からの信号に対応
する信号を受取り、中間信号から得られた制御信号に従
ってその信号に操作を施す装置を含む。信号を受取る装
置は分割する装置より大きな群の信号を操作し、その信
号に位置するビットを制御信号により決定される位置へ
シフトするようにされる。従って、別の回路の以後の段
は入力信号のより大きな部分又は群に対応するビットの
群を操作する。
According to a second embodiment of the present invention, another circuit divides the related signal and the input signal into corresponding groups and shifts bits located in the related signal group to positions determined by the corresponding input signal group. Includes shifting device. Another circuit further includes a device for receiving a signal corresponding to the signal from the divider including the shifted bits and manipulating the signal according to a control signal derived from the intermediate signal. The device receiving the signal operates a larger group of signals than the splitting device, and shifts the bits located in the signal to positions determined by the control signal. Thus, subsequent stages of another circuit operate on groups of bits corresponding to larger portions or groups of the input signal.

【0025】別の回路は、受信用のさらに別の装置を含
むことが望ましく、この装置はさらに大きな群で受信す
る装置からの信号を操作し、前記受信装置からの前記信
号に位置するビットを中間信号から得られた別の制御信
号により決定される位置へシフトするようにされる。
[0025] Preferably, the further circuit includes a further device for reception, which operates on signals from the receiving device in a larger group and converts the bits located in the signal from the receiving device. A shift is made to a position determined by another control signal obtained from the intermediate signal.

【0026】分割装置はエンコーダ、受取り用の装置、
及びマルチプレクサを含む別の受取り用の装置を含むの
が有利である。入力信号は関係信号から抽出されるべき
ビットを識別するビット・マスクを含む。
The dividing device is an encoder, a receiving device,
And a separate receiving device including a multiplexor. The input signal includes a bit mask identifying the bits to be extracted from the relevant signal.

【0027】本発明の第3実施例では、別の回路は、関
係信号からのビットを中間信号から得られる制御信号に
より決定される少なくとも2つのビット群中のビット位
置へ分配する装置を含む。別の回路は又、分配ビットの
ビットを中間信号から得られる別の制御信号により決定
されるより小さなビット群中のビット位置へ分配する装
置も含む。最後に、別の回路は、入力信号又はマスクか
ら得られた制御信号により決定されるさらに小さな群中
のビット位置へ分配するための装置から分配ビットに対
応する信号のビットを分配する別の装置を含む。
In a third embodiment of the invention, another circuit includes an apparatus for distributing bits from the relevant signal to bit positions in at least two groups of bits determined by a control signal derived from the intermediate signal. Another circuit also includes a device for distributing bits of the distribution bits to bit positions in a smaller group of bits determined by another control signal derived from the intermediate signal. Finally, another circuit distributes the bits of the signal corresponding to the distribution bits from the apparatus for distributing to bit positions in a smaller group determined by the input signal or the control signal obtained from the mask. including.

【0028】関係信号からビットを分配する装置と分配
ビットのビットを分配する装置はマルチプレクサに含ま
れるのが適当で、分配用の別の装置はエンコーダを含
む。
The device for distributing bits from the relevant signal and the device for distributing the bits of the distribution bits are suitably included in a multiplexer, and another device for distribution includes an encoder.

【0029】本発明による第4実施例では、別の回路
は、入力信号の各部分を受け取り、中間信号の各部分か
ら得られた信号により制御可能で入力信号の正規化用の
シフト値を与える各処理装置を含むテール部分回路を含
む。
In a fourth embodiment according to the invention, another circuit receives each part of the input signal and provides a shift value for normalization of the input signal which is controllable by the signal obtained from each part of the intermediate signal. A tail subcircuit including each processing unit is included.

【0030】本発明による実施例は信号処理機能を実行
する回路を提供するのに必要な表面積を減少する助けと
なる。従って、本発明を実施するプロセッサ、ディジタ
ル信号プロセッサ又は集積回路に別の機能を含ませ得
る。これは、最小表面積で最大機能性を必要とする無線
通信装置のような携帯装置で発明の実施例を特に最適な
ものとする。
An embodiment according to the present invention helps reduce the surface area required to provide a circuit that performs signal processing functions. Thus, other functions may be included in a processor, digital signal processor, or integrated circuit that embodies the invention. This makes embodiments of the invention particularly suitable for portable devices such as wireless communication devices that require maximum functionality with a minimum surface area.

【0031】本発明による実施例の特に有用な利用は、
データを通信装置に入力する表示部、キーパッド又はキ
ーボードを含むユーザー・インターフェース、送受信器
と送受信器に結合されて動作するアンテナ、さらに上述
したような実行装置、又はプロセッサ、ディジタル信号
プロセッサ又は前記実行装置を含む集積回路を含む無線
通信装置である。
A particularly useful use of an embodiment according to the present invention is
A display for inputting data into the communication device, a user interface including a keypad or keyboard, a transceiver and an antenna operatively coupled to the transceiver, and an execution device or processor as described above, or a processor, a digital signal processor or the implementation A wireless communication device including an integrated circuit including the device.

【0032】[0032]

【発明の実施の形態】本発明は、例えば応用特定集積回
路(ASIC)に実装されるディジタル信号プロセッサ
(DSP)に特別の応用を見出すが、その他の形式の処
理エンジンにも応用例が見出される。
DETAILED DESCRIPTION OF THE INVENTION The present invention finds particular application, for example, in digital signal processors (DSPs) implemented in application specific integrated circuits (ASICs), but finds application in other types of processing engines. .

【0033】本発明によるプロセッサの一例の基本アー
キテクチャを以下に説明する。
The basic architecture of an example of a processor according to the present invention will now be described.

【0034】図1は本発明の実施例を有するマイクロプ
ロセッサ10のブロック線図である。マイクロプロセッ
サ10はディジタル信号プロセッサ(「DSP」)であ
る。明瞭性のため、図1は本発明の実施例の理解に適切
なマイクロプロセッサ10の部分のみを図示してある。
DSPの一般的構造の詳細は公知であり、容易に各所で
見出される。例えば、フレデリック・ボウタード他に発
行された米国特許第5,072,418号はDSPを詳細に記述
し、引用により本明細書に含まれる。グレイ・スウォボ
ーダ他に発行された米国特許第5,329,471号はDSPを
如何に検査しエミュレートするかを詳細に記述し、引用
により本明細書に含まれる。本発明に実施例に関係する
マイクロプロセッサ10の部分の詳細は以下に十分詳細
に説明され、マイクロプロセッサ技術に通常の技術を有
する者に本発明を利用可能とする。
FIG. 1 is a block diagram of a microprocessor 10 having an embodiment of the present invention. Microprocessor 10 is a digital signal processor ("DSP"). For clarity, FIG. 1 illustrates only those portions of the microprocessor 10 that are appropriate for understanding embodiments of the present invention.
Details of the general structure of a DSP are known and can be readily found elsewhere. For example, US Pat. No. 5,072,418 issued to Frederick Boutard et al. Describes a DSP in detail and is incorporated herein by reference. U.S. Pat. No. 5,329,471 issued to Gray Swoboda et al. Describes in detail how to test and emulate a DSP and is incorporated herein by reference. The details of portions of microprocessor 10 that are relevant to embodiments of the present invention are described in sufficient detail below to make the present invention available to those of ordinary skill in the microprocessor arts.

【0035】本発明の特徴から利益を得るいくつかの例
示システムは米国特許第5,072,418号に記述され、これ
は引用により本明細書に含まれ、特に米国特許第5,072,
418号の図2−18を参照されたい。性能改善又はコス
ト削減のため本発明の特徴を含むマイクロプロセッサを
使用して米国特許第5,072,418号記載のシステムをさら
に改良可能である。前記システムは、以下に限定されな
いが、産業プロセス制御、自動車システム、モーター制
御、ロボット制御システム、衛星電気通信システム、エ
コー抑制システム、モデム、ビデオ映像システム、音声
認識システム、暗号付きボコーダ・モデム・システム等
を含む。
Some exemplary systems that benefit from features of the present invention are described in US Pat. No. 5,072,418, which is incorporated herein by reference, and in particular, US Pat. No. 5,072,418.
See FIGS. 2-18 at 418. The system described in U.S. Pat. No. 5,072,418 can be further improved using a microprocessor including features of the present invention for improved performance or reduced cost. The systems include, but are not limited to, industrial process control, automotive systems, motor control, robot control systems, satellite telecommunications systems, echo suppression systems, modems, video imaging systems, voice recognition systems, encrypted vocoder modem systems. And so on.

【0036】図1のマイクロプロセッサの各種のアーキ
テクチャの特徴の説明と完全な命令セットの説明は共願
の米国出願番号第09/410,977号(TI-28433)に与えら
れ、これは引用により本明細書に含まれる。
A description of the various architectural features and a complete instruction set for the microprocessor of FIG. 1 is provided in co-pending US application Ser. No. 09 / 410,977 (TI-28433), which is hereby incorporated by reference. Included in the book.

【0037】図1は本発明の例示実施例を形成するプロ
セッサ10の概略概観である。プロセッサ10は処理エ
ンジン100とプロセッサ・バックプレーン20を含
む。本実施例では、プロセッサは応用特例集積回路(A
SIC)に実装されたディジタル信号プロセッサ10で
ある。
FIG. 1 is a schematic overview of a processor 10 forming an exemplary embodiment of the present invention. Processor 10 includes a processing engine 100 and a processor backplane 20. In this embodiment, the processor is an application special integrated circuit (A
1 is a digital signal processor 10 mounted on an SIC.

【0038】図1に示すように、処理エンジン100
は、処理コア102と、処理コア102外部のメモリ装
置と処理コア102をインターフェースするメモリ・イ
ンターフェース又は管理装置104とを有する中央処理
装置(CPU)を形成する。
As shown in FIG. 1, the processing engine 100
Forms a central processing unit (CPU) having a processing core 102 and a memory interface or management device 104 that interfaces the processing core 102 with a memory device external to the processing core 102.

【0039】プロセッサ・バックプレーン20は、プロ
セッサ・エンジンのメモリ管理装置104が接続される
バックプレーン・バス22を含む。バックプレーン・バ
ス22には、命令キャッシュメモリ、周辺装置26及び
外部インターフェース28も接続される。
The processor backplane 20 includes a backplane bus 22 to which the processor engine memory management unit 104 is connected. The instruction cache memory, peripheral devices 26 and external interface 28 are also connected to the backplane bus 22.

【0040】他の実施例では、本発明は異なる構成及び
/又は異なる技術を用いて実装可能であることが認めら
れる。例えば、処理エンジン100は、プロセッサ・バ
ックプレーン20をそこから分離してプロセッサ10を
形成可能である。処理エンジン100は、例えば、バッ
クプレーン・バス22、周辺及び外部インターフェース
をサポートするバックプレーン20から分離してマウン
トしたDSPも可能である。処理エンジン100は、例
えばDSPではなくマクロプロセッサも可能で、ASI
C技術以外の技術で実装可能である。処理エンジン又は
処理エンジンを含むプロセッサは1つ以上の集積回路に
実装可能である。
In other embodiments, it will be appreciated that the invention can be implemented using different configurations and / or different technologies. For example, processing engine 100 can separate processor backplane 20 therefrom to form processor 10. The processing engine 100 may be, for example, a DSP mounted separately from the backplane 20, which supports the backplane bus 22, peripheral and external interfaces. The processing engine 100 can be, for example, a macro processor instead of a DSP.
It can be implemented by a technology other than the C technology. A processing engine or a processor that includes a processing engine can be implemented on one or more integrated circuits.

【0041】図2は処理コア102の実施例の基本構造
を図示する。図示するように、処理コア102は4つの
要素、すなわち命令バッファ装置(I装置)106と3
個の実行装置を含む。実行装置は、命令バッファ装置
(I装置)106からデコードされた命令を実行し、プ
ログラム流れを制御し監視する、プログラム流れ装置
(P装置)108、アドレス・データ流れ装置(A装
置)110及びデータ計算装置(D装置)112であ
る。
FIG. 2 illustrates the basic structure of an embodiment of the processing core 102. As shown, the processing core 102 has four elements: an instruction buffer device (I device) 106 and 3.
Execution devices. The execution unit executes the instructions decoded from the instruction buffer unit (I unit) 106, controls and monitors the program flow, a program flow unit (P unit) 108, an address / data flow unit (A unit) 110 and data. A computing device (D device) 112.

【0042】図3は処理コア102のP装置108、A
装置110及びD装置112を詳細に図示し、処理コア
102の各種要素を接続するバス構造を示す。P装置1
08は例えば、ループ制御回路、GoTo/Branch制御回路
及び繰返しカウンタ・レジスタや割り込みマスク、フラ
ッグ又はベクトル・レジスタのようなプログラム流れを
制御し監視する各種のレジスタを含む。P装置108は
汎用データ書込みバス(EB、FB)130、132、
データ読取りバス(CB、DB)134、136及びア
ドレス定数バス(KAB)142に結合されている。さ
らに、P装置108はCSR、ACB及びRGDとラベ
ル付けした各種のバスを介してA装置110とD装置1
12内の副装置に結合されている。
FIG. 3 shows the P device 108, A of the processing core 102.
The device 110 and the D device 112 are shown in detail, and a bus structure for connecting various elements of the processing core 102 is shown. P device 1
08 includes, for example, a loop control circuit, a GoTo / Branch control circuit, and various registers for controlling and monitoring the program flow such as a repetition counter register, an interrupt mask, a flag or a vector register. The P device 108 includes general-purpose data write buses (EB, FB) 130, 132,
It is coupled to data read buses (CB, DB) 134, 136 and an address constant bus (KAB) 142. In addition, P device 108 communicates with A device 110 and D device 1 via various buses labeled CSR, ACB, and RGD.
12 are coupled to sub-devices.

【0043】図3に示すように、本実施例ではA装置1
10はレジスタ・ファイル30、データ・アドレス発生
副装置(DAGEN)32及び算術論理装置(ALU)
34を含む。A装置レジスタ・ファイル30は各種のレ
ジスタを含み、その中には16ビット・ポインタ・レジ
スタ(AR0−AR7)とデータ流れと共にアドレス発
生にも使用されるデータ・レジスタ(DR0−DR3)
がある。さらに、レジスタ・ファイルは16ビット・環
状バッファ・レジスタと7ビット・データ・ページ・レ
ジスタを含む。汎用バス(EB、FB、CB、DB)1
30、132、134,136と共に、データ定数バス
140とアドレス定数バス142がA装置レジスタ・フ
ァイル30に結合される。A装置レジスタ・ファイル3
0は、各々反対方向に動作する一方向性バス144と1
46によりA装置DAGEN装置32に結合される。D
AGEN装置32は例えば処理エンジン内のアドレス発
生を制御し監視する16ビットX/Yレジスタと係数及
びスタック・ポインタ・レジスタを含む。
As shown in FIG. 3, in this embodiment, the A device 1
Reference numeral 10 denotes a register file 30, a data address generator (DAGEN) 32 and an arithmetic logic unit (ALU).
34. The A device register file 30 includes various registers, including a 16-bit pointer register (AR0-AR7) and a data register (DR0-DR3) which is also used for address generation together with data flow.
There is. In addition, the register file contains a 16-bit circular buffer register and a 7-bit data page register. General-purpose bus (EB, FB, CB, DB) 1
Along with 30, 132, 134 and 136, a data constant bus 140 and an address constant bus 142 are coupled to the A device register file 30. A device register file 3
0 is a unidirectional bus 144 and 1 operating in opposite directions, respectively.
46 is coupled to the A-device DAGEN device 32. D
AGEN unit 32 includes, for example, a 16-bit X / Y register and a coefficient and stack pointer register that control and monitor address generation in the processing engine.

【0044】A装置110は、加算、減算、及びAN
D、OR及びXOR論理演算子のようなALUと標準的
に関係する機能と共にシフタ機能を含むALU34も含
む。ALU34も汎用バス(EB、DB)130,13
6と命令定数データバス(KDB)140とに結合され
る。A装置ALUはPDAバスによりP装置108に結
合されてP装置108レジスタ・ファイルからレジスタ
定数を受取る。ALU34もバスRGAとRGBにより
A装置レジスタ・ファイル30に結合されてアドレス及
びデータ・レジスタ定数を受取り、バスRGDによりレ
ジスタ・ファイル30のアドレス及びデータ・レジスタ
を転送する。
The A unit 110 performs addition, subtraction, and AN
Also includes ALU 34 that includes shifter functions along with functions normally associated with ALUs such as D, OR and XOR logical operators. The ALU 34 is also a general-purpose bus (EB, DB) 130, 13
6 and an instruction constant data bus (KDB) 140. The A unit ALU is coupled by a PDA bus to the P unit 108 to receive register constants from the P unit 108 register file. ALU 34 is also coupled to A-device register file 30 by buses RGA and RGB to receive address and data register constants, and transfers address and data registers of register file 30 by bus RGD.

【0045】図示するように、D装置112はD装置レ
ジスタ・ファイル36、D装置ALU38、D装置シフ
タ40及び2個の乗算及びアキュムレート装置(MAC
1、MAC2)42と44を含む。D装置レジスタ・フ
ァイル36、D装置ALU38及びD装置シフタ40は
バス(EB、FB、CB、DB及びKDB)130,1
32、134、136及び140に結合され、MAC装
置42と44はバス(CB、DB、KDB)134、1
36、140とデータ読取りバス(BB)144に結合
される。D装置レジスタ・ファイル36は40ビット・
アキュムレータ(AC0−AC3)と16ビット転移レ
ジスタとを含む。D装置112は40ビット・アキュム
レータに加えてソース又はデスティネーション・レジス
タとしてA装置110の16ビット・ポインタ及びデー
タ・レジスタも利用可能である。D装置レジスタ・ファ
イル36は、アキュムレータ書込みバス(ACW0、A
CW1)146、148を通してD装置ALU38とM
AC1&2/42、44から、そしてアキュムレータ書
込みバス(ACW1)148を通してD装置シフタ40
からデータを受取る。データは、D装置レジスタ・ファ
イル・アキュムレータからアキュムレータ読取りバス
(ACR0、ACR1)150,152を通してD装置
ALU38、D装置シフタ40及びMAC1&2/4
2,44へ読取られる。D装置ALU38とD装置シフ
タ40もEFC、DRB、DR2及びACBとラベル付
けした各種のバスを介してA装置108の副装置に結合
される。
As shown, the D unit 112 comprises a D unit register file 36, a D unit ALU 38, a D unit shifter 40 and two multiply and accumulate units (MAC).
1, MAC2) 42 and 44. The D device register file 36, the D device ALU 38, and the D device shifter 40 are buses (EB, FB, CB, DB, and KDB) 130, 1
32, 134, 136 and 140, the MAC devices 42 and 44 have buses (CB, DB, KDB) 134, 1
36, 140 and a data read bus (BB) 144. The D device register file 36 has 40 bits.
It includes an accumulator (AC0-AC3) and a 16-bit transfer register. D-device 112 can use the 16-bit pointer and data registers of A-device 110 as source or destination registers in addition to the 40-bit accumulator. The D device register file 36 stores the accumulator write bus (ACW0, AW0).
CW1) D unit ALU38 and M through 146, 148
D device shifter 40 from AC1 & 2/42, 44 and through accumulator write bus (ACW1) 148
Receive data from Data is passed from the D-device register file accumulator through the accumulator read buses (ACR0, ACR1) 150, 152 to the D-device ALU 38, D-device shifter 40 and MAC1 & 2/4.
2, 44. The D-device ALU 38 and D-device shifter 40 are also coupled to the sub-devices of A-device 108 via various buses labeled EFC, DRB, DR2, and ACB.

【0046】ここで図4を参照すると、32語命令バッ
ファ・キュー(IBQ)502を含む命令バッファ装置
106が図示されている。IBQ502は8ビット・バ
イト506に論理的に分割された32X16ビット・レ
ジスタ504を含む。命令は32ビット・プログラム・
バス(PB)122を介してIBQ502に到着する。
命令は局所書込みプログラム・カウンタ(LWPC)5
32により指示される位置へ32ビット・サイクルでフ
ェッチされる。LWPC532はP装置108に配置さ
れたレジスタに含まれる。P装置108は又局所読取り
プログラム・カウンタ(LRPC)536レジスタ、書
込みプログラム・カウンタ(WPC)530及び読取り
プログラム・カウンタ(RPC)534レジスタも含
む。LRPC536は命令デコーダ512と514にロ
ードされるべき次ぎの命令又は複数命令のIBQ502
中の位置を指示する。すなわち、LRPC534は、デ
コーダ512、514へ現在ディスパッチされている命
令のIBQ502中の位置を指示する。WPCはパイプ
ラインの命令コードの次ぎの4バイトの開始のプログラ
ム・メモリ中のアドレスを指示する。IBQへの各フェ
ッチに対して、プログラム・メモリからの次ぎの4バイ
トは命令境界に係わらずフェッチされる。RPC534
はデコーダ512/514へ現在ディスパッチされてい
る命令のプログラム・メモリ中のアドレスを指示する。
Referring now to FIG. 4, an instruction buffer unit 106 including a 32-word instruction buffer queue (IBQ) 502 is illustrated. The IBQ 502 includes a 32 × 16-bit register 504 logically divided into 8-bit bytes 506. The instruction is a 32-bit program
Arrives at the IBQ 502 via the bus (PB) 122.
The instruction is a local write program counter (LWPC) 5
Fetched to the location indicated by 32 in a 32-bit cycle. The LWPC 532 is included in a register arranged in the P device 108. The P unit 108 also includes a local read program counter (LRPC) 536 register, a write program counter (WPC) 530, and a read program counter (RPC) 534 register. LRPC 536 is the IBQ 502 of the next instruction or multiple instructions to be loaded into instruction decoders 512 and 514.
Indicate the middle position. That is, LRPC 534 indicates to decoders 512 and 514 the position in IBQ 502 of the instruction currently dispatched. WPC points to the address in program memory at the start of the next 4 bytes following the instruction code in the pipeline. For each fetch to IBQ, the next four bytes from program memory are fetched regardless of instruction boundaries. RPC534
Indicates the address in program memory of the instruction currently dispatched to the decoder 512/514.

【0047】命令は48ビット語で形成され、マルチプ
レクサ520と521を介して48ビット・バス516
を通して命令デコーダ512、514へロードされる。
命令は48ビット以外を含む語から形成されても良く、
本発明は上述した特定の実施例に限定されないことは当
業者には明らかである。
The instructions are formed of 48-bit words and are routed through multiplexers 520 and 521 to a 48-bit bus 516.
Through to the instruction decoders 512, 514.
The instructions may be formed from words containing more than 48 bits,
It will be apparent to one skilled in the art that the present invention is not limited to the specific embodiments described above.

【0048】バス516は任意の1命令サイクル時にデ
コーダ当たり1つの最大2命令をロード可能である。命
令の組合せは、48ビット・バス上に適合するフォーマ
ット、8、16、24、32、40及び48ビットの任
意の組合せでよい。1サイクル時に1命令のみがロード
された場合、デコーダ1、512がデコーダ2、514
に優先してロードされる。各命令は、それを実行し、命
令又は演算を実行すべきデータをアクセスするため各機
能装置に転送される。命令デコーダに渡される前に、命
令はバイト境界に整合される。整合はそのデコード時の
前の命令から得られたフォーマットに基づいて実行され
る。バイト境界による命令の整合に関連する多重化はマ
ルチプレクサ520と521で実行される。
The bus 516 can load up to two instructions, one per decoder, at any one instruction cycle. The combination of instructions may be in any combination of formats that fit on a 48-bit bus, 8, 16, 24, 32, 40 and 48 bits. If only one instruction is loaded in one cycle, decoders 1 and 512
Is loaded in preference to Each instruction is executed and transferred to each functional unit to access the data on which the instruction or operation is to be performed. Instructions are aligned on byte boundaries before being passed to the instruction decoder. Matching is performed based on the format obtained from the previous instruction at the time of decoding. The multiplexing associated with instruction alignment by byte boundaries is performed in multiplexers 520 and 521.

【0049】プロセッサ・コア102は7段パイプライ
ンを通して命令を実行し、その各段は図5を参照して以
下に説明される。
The processor core 102 executes instructions through a seven stage pipeline, each stage of which is described below with reference to FIG.

【0050】パイプラインの第1段はPRE-FETCH(P0)段
202で、この段でメモリ・インターフェース、又はメ
モリ管理装置104のアドレス・バス(PAB)118
上のアドレスをアサートすることにより次ぎのプログラ
ム・メモリ位置がアドレスされる。
The first stage of the pipeline is the PRE-FETCH (P0) stage 202, which is the memory interface or address bus (PAB) 118 of the memory management unit 104.
Asserting the above address causes the next program memory location to be addressed.

【0051】次ぎの段、FETCH(P1)段204では、プロ
グラム・メモリが読取られてI装置106はメモリ管理
装置104からPB装置122を介して満たされる。
In the next stage, FETCH (P1) stage 204, the program memory is read and I-device 106 is filled from memory management device 104 via PB device 122.

【0052】PRE-FETCHとFETCH段時にはパイプラインは
割り込み可能で、連続プログラム流れを切断し、例えば
分岐命令に対してプログラム・メモリの他の命令を指す
点でPRE-FETCHとFETCH段はパイプライン段の残りのもの
から分離されている。
During the PRE-FETCH and FETCH stages, the pipeline is interruptible and breaks the continuous program flow; for example, the PRE-FETCH and FETCH stages are pipelined in that they point to other instructions in program memory for branch instructions. Separated from the rest of the column.

【0053】命令バッファの次ぎの命令は次いで第3
段、DECODE(P2)206でデコーダ512/514にディ
スパッチされ、ここで命令はその命令を実行する実行装
置、例えばP装置108、A装置110又はD装置11
2へデコードされディスパッチされる。デコード段20
6は命令の種別を指示する第1部分、命令のフォーマッ
トを指示する第2部分、及び命令のアドレシング・モー
ドを指示する第3部分を含む命令の少なくとも一部のデ
コードを含む。
The next instruction in the instruction buffer then goes to the third
Stage, DECODE (P2) 206, dispatches to decoders 512/514, where the instruction is executed by an execution device, such as P device 108, A device 110 or D device 11
Decoded to 2 and dispatched. Decoding stage 20
6 includes decoding of at least a part of the instruction including a first part indicating the type of the instruction, a second part indicating the format of the instruction, and a third part indicating the addressing mode of the instruction.

【0054】次ぎの段はADDRESS(P3)段208で、ここ
で命令に使用されるべきデータのアドレスが計算される
か、又は命令がプログラム分岐又はジャンプを必要とし
ている場合は新たなプログラム・アドレスが計算され
る。各計算は各々A装置110又はP装置108で発生
する。
The next stage is the ADDRESS (P3) stage 208, where the address of the data to be used for the instruction is calculated or, if the instruction requires a program branch or jump, a new program address. Is calculated. Each calculation occurs in the A device 110 or the P device 108, respectively.

【0055】ACCESS(P4)段210では、読取りオペラン
ドのアドレスが出力され、Xmem間接アドレシングモード
によりDAGEN X演算器でアドレスが発生されたメモリ・
オペランドが間接的にアドレスされたXメモリ(Xmem)
からREADされる。
In the ACCESS (P4) stage 210, the address of the read operand is output, and the memory / address where the address was generated by the DAGEN X operator in the Xmem indirect addressing mode.
X memory with indirectly addressed operands (Xmem)
READ from.

【0056】パイプラインの次ぎの段はREAD(P5)段21
2で、Ymem間接アドレシング・モードによりDAGEN Y演
算器又は係数アドレス・モードによりDAGEN C演算器で
発生されたアドレスの、メモリ・オペランドがREADされ
る。命令の結果を書込むべきメモリ位置のアドレスが出
力される。
The next stage in the pipeline is the READ (P5) stage 21
At 2, the memory operand of the address generated by the DAGEN Y operator in the Ymem indirect addressing mode or the DAGEN C operator in the coefficient address mode is read. The address of the memory location where the result of the instruction is to be written is output.

【0057】最後に、命令がA装置110又はD装置1
12のどちらかで実行される実行EXEC(P6)段214があ
る。次いで結果はデータ・レジスタ又はアキュムレータ
にストアされるか、又はRead/Modify/Write又はストア
命令に対してメモリに書込まれる。さらに、EXEC段時に
アキュムレータ中のデータにシフト演算が実行される。
Finally, if the instruction is A-device 110 or D-device 1
There is an execution EXEC (P6) stage 214 that is executed in either of the two. The result is then stored in a data register or accumulator, or written to memory for a Read / Modify / Write or Store instruction. Further, a shift operation is performed on the data in the accumulator during the EXEC stage.

【0058】図6を参照してパイプライン・プロセッサ
の基本動作原理を以下に説明する。図6から分かるよう
に、第1命令302に対して、連続するパイプライン段
は時間T1-T7上で発生する。各時間周期はプロセッサ・
マシン・クロックのクロック・サイクルである。前の命
令は今や次ぎのパイプライン段に移動しているため、第
2命令304は周期T2にパイプラインに入ることが可能
である。命令3、306に対しては、PRE-FETCH段20
2は時間周期T3に発生する。図6から分かるように、7
段パイプラインでは全部で7命令が同時に処理される。
全ての7命令302−314に対して、図6は時間周期T
7で全て処理されていることを示す。このような構造は
命令の処理に並列性の形式を追加する。
The basic operation principle of the pipeline processor will be described below with reference to FIG. As can be seen from FIG. 6, the first instruction 302, the pipeline stages for successive occurs on time T 1 -T 7. Each time period is a processor
This is the clock cycle of the machine clock. Since the previous instruction is moved to the next pipeline stage now, the second instruction 304 may periodically T 2 enters the pipeline. For instructions 3 and 306, PRE-FETCH stage 20
2 generates the time period T 3. As can be seen from FIG.
In the stage pipeline, a total of seven instructions are processed simultaneously.
FIG. 6 shows the time period T for all seven instructions 302-314.
7 indicates that everything is processed. Such a structure adds a form of parallelism to instruction processing.

【0059】図7に示すように、本発明の実施例は24
ビット・アドレスバス114と両方向性16ビット・デ
ータバス116とを介して外部メモリ装置(図示せず)
に結合されるメモリ管理装置104を含む。さらに、メ
モリ管理装置104は、24ビット・アドレスバス11
8と32ビット両方向性データバス120とを介してプ
ログラム記憶メモリ(図示せず)に結合される。メモリ
管理装置104は又、32ビット・プログラム読取りバ
ス(PB)122を介してマシン・プロセッサ・コア1
02のI装置106にも結合される。P装置108、A
装置110とD装置112はデータ読取り及びデータ書
込みバス及び対応するアドレスバスとを介してメモリ管
理装置104に結合される。P装置108はさらにプロ
グラム・アドレスバス128に結合される。
As shown in FIG. 7, the embodiment of the present invention
External memory device (not shown) via bit address bus 114 and bidirectional 16-bit data bus 116
And a memory management device 104 coupled to the Further, the memory management device 104 has a 24-bit address bus 11
It is coupled to a program storage memory (not shown) via an 8- and 32-bit bidirectional data bus 120. The memory manager 104 also communicates with the machine processor core 1 via a 32-bit program read bus (PB) 122.
02 is also coupled to the I-device 106. P device 108, A
Device 110 and D device 112 are coupled to memory management device 104 via a data read and data write bus and a corresponding address bus. P unit 108 is further coupled to program address bus 128.

【0060】特に、P装置108は24ビット・プログ
ラム・アドレスバス128、2本の16ビット・データ
書込みバス(EB、FB)130、132、及び2本の
16ビット・データ読取りバス(CB、DB)134、
136によりメモリ管理装置104に結合される。A装
置110は2本の24ビット・データ書込みアドレスバ
ス(EAB、FAB)160、162、2本の16ビッ
ト・データ書込みバス(EB、FB)130、132、
3本のデータ読取りアドレスバス(BAB、CAB、D
AB)164、166、168及び2本の16ビット・
データ読取りバス(CB、DB)134、136を介し
てメモリ管理装置104に結合される。D装置112は
2本の16ビット・データ書込みバス(EB、FB)1
30、132、及び3本のデータ読取りバス(BB、C
B、DB)144、134、136を介してメモリ管理
装置104に結合される。
In particular, the P unit 108 has a 24-bit program address bus 128, two 16-bit data write buses (EB, FB) 130, 132, and two 16-bit data read buses (CB, DB). ) 134,
136 is coupled to the memory management device 104. The A device 110 has two 24-bit data write address buses (EAB, FAB) 160, 162, two 16-bit data write buses (EB, FB) 130, 132,
Three data read address buses (BAB, CAB, D
AB) 164, 166, 168 and two 16-bit
It is coupled to the memory management device 104 via data read buses (CB, DB) 134, 136. D unit 112 has two 16-bit data write buses (EB, FB) 1
30, 132, and three data read buses (BB, C
B, DB) 144, 134, 136.

【0061】図7は、例えば分岐命令を転送するため、
I装置106からP装置108へ124で命令の引渡し
を表す。さらに、図7は各々126と128でI装置1
06からA装置110とD装置112へのデータの引渡
しを表す。
FIG. 7 shows, for example, in order to transfer a branch instruction.
The transfer of an instruction from the I device 106 to the P device 108 is represented by 124. Further, FIG. 7 shows I-device 1 at 126 and 128, respectively.
06 indicates the transfer of data to the A device 110 and the D device 112.

【0062】図8は図3を参照して上述したD装置シフ
タ40のさらに詳細なブロック線図を示す。D装置シフ
タ40のコアはビット処理装置802で、これはデータ
処理とビット・フィールドの演算及び/又は監視の手段
を与える各種の機能装置を含む。本発明による特定の実
施例では、ビット処理装置802は、浮動小数点演算の
指数値を決定し、データ・フィールドの「セット」又は
「非セット」の数のような特定のデータ属性の発生をカ
ウントする指数/カウント装置804を含む。ビット処
理装置802には、ビット展開及びビット抽出操作を行
なうためデータ・フィールドを処理するビット・フィー
ルド・プロセッサ806も含まれる。
FIG. 8 shows a more detailed block diagram of the D device shifter 40 described above with reference to FIG. The core of the D-device shifter 40 is a bit-processing device 802, which includes various functional devices that provide data processing and means for computing and / or monitoring bit fields. In a specific embodiment according to the present invention, bit processing unit 802 determines the exponent value of the floating point operation and counts occurrences of a particular data attribute, such as a "set" or "unset" number of data fields. Indexing / counting device 804. Bit processing unit 802 also includes a bit field processor 806 that processes the data fields to perform bit expansion and bit extraction operations.

【0063】ビット処理装置802はまたシフタ80
8、丸め及び飽和装置810、符号拡張装置812も含
む。
The bit processing device 802 also includes a shifter 80
8, also includes a rounding and saturation unit 810 and a sign extension unit 812.

【0064】シフタ808、丸め及び飽和装置810、
符号拡張装置812は本発明とは関係がないため、余談
のためを除いてこれ以上の参照は行なわない。
A shifter 808, a rounding and saturating device 810,
Since the sign extension device 812 is not relevant to the present invention, no further reference is made except for an aside.

【0065】D装置シフタ40は図3を参照して前述し
たように各種のバスに結合される。これらのバスの中
で、D装置ビット・アキュムレータ読取りバスACR0
/150とACR1/152は指数/カウント装置80
4に結合される。図8に示した特定の実施例では、指数
/カウント装置804とACR1/152はビット・フ
ィールド・プロセッサ806に結合されて「ソース」デ
ータ語を与える。オプションとして、読取りバスACR
0/150も単独で又はACR1/152と共にビット
・フィールド・プロセッサ806に結合されてもよい。
The D device shifter 40 is coupled to various buses as described above with reference to FIG. Of these buses, the D-device bit accumulator read bus ACR0
/ 150 and ACR1 / 152 are index / counters 80
4 In the particular embodiment shown in FIG. 8, the exponent / counter 804 and ACR1 / 152 are coupled to a bit field processor 806 to provide a "source" data word. Optionally, read bus ACR
0/150 alone or with ACR1 / 152 may be coupled to bit field processor 806.

【0066】指数カウント装置804の出力818はト
ライステート・バッファ814と16ビット・バス81
6を介してA装置レジスタファイル30のデータレジス
タDRXへ転送される。出力820もシフタ808へ結
合され、ここでシフタ808の制御信号として選択され
る。
The output 818 of the exponent counting device 804 is connected to the tri-state buffer 814 and the 16-bit bus 81.
6 to the data register DRX of the A device register file 30. Output 820 is also coupled to shifter 808, where it is selected as a control signal for shifter 808.

【0067】前述したように、ビット・フィールド・プ
ロセッサ装置806はデータ読取りバスACR1/15
2に結合した入力を有する。装置806は、16ビット
定数データバス140(Kバス)に結合されて、ビット
・フィールド・プロセッサ802に「マスク」語を与え
る別の入力を有する。ビット・フィールド・プロセッサ
802の出力822はトライステート・バッファ824
と40ビット・アキュムレータ書込みバスACW1/1
48を介してD装置40ビット・レジスタファイル36
のレジスタに転送される。
As described above, the bit field processor unit 806 has a data read bus ACR1 / 15.
2 has an input coupled to it. Device 806 has another input coupled to the 16-bit constant data bus 140 (K bus) to provide a "mask" word to bit field processor 802. The output 822 of the bit field processor 802 is a tri-state buffer 824
And 40-bit accumulator write bus ACW1 / 1
D-device 40-bit register file 36 via 48
Is transferred to the register.

【0068】ビット処理装置802は状態レジスタ85
0aの一部から受け取った状態及び制御信号により部分
的に制御される。ビット処理装置802により実行され
た演算の結果は部分的に状態レジスタ850bの一部に
保存される。例えば、カウント命令により発生されたビ
ット・カウント値の最小位ビット(LSB)は状態レジ
スタ850bのテスト/制御ビットTCxに保存され
る。これによりプログラムはビット・カウントのパリテ
ィを基に条件命令を実行可能とする。
The bit processing unit 802 has a status register 85
It is partially controlled by the state and control signals received from a portion of Oa. The result of the operation performed by bit processor 802 is partially stored in part of state register 850b. For example, the least significant bit (LSB) of the bit count value generated by the count instruction is stored in test / control bit TCx of status register 850b. This allows the program to execute conditional instructions based on the parity of the bit count.

【0069】本発明の特定実施例によると、指数/カウ
ント装置804とビット・フィールド・プロセッサ80
6は共通のユーティリティを有する共通の回路を共有す
る。従って、これらの装置により占有されるシリコンの
面積は削減可能である。共有回路を利用した特定実施例
の概略図は図9に図示される。
According to a particular embodiment of the invention, the exponent / counter 804 and the bit field processor 80
6 share a common circuit with a common utility. Therefore, the area of silicon occupied by these devices can be reduced. A schematic diagram of a specific embodiment utilizing a shared circuit is illustrated in FIG.

【0070】指数/カウント装置804はビットカウン
タ902と指数回路904を含む。ビット・フィールド
・プロセッサ806はビット展開回路906とビット抽
出回路908を含む。バス910からの40ビット・デ
ータ語はビット・カウンタ902と指数回路904の両
方に対してソース1となり得て、16ビット・マスク9
12もビット・カウンタ902の入力となり得る。ビッ
ト・フィールド・カウント914はビット・カウンタ9
02から指数部904、ビット展開906と抽出908
装置へ出力されて、これらの機能に使用される。ビット
展開906とビット抽出908は共通データバス916
からの16ビットソース2入力を有する。ビット・カウ
ンタ902は多数の段を含み、その第1段はソース1又
はマスクを直接操作し、以後の段は前段の結果に作用す
る。1個以上の段の結果は指数部904、ビット展開9
06及び抽出908装置に出力可能である。
The exponent / counter 804 includes a bit counter 902 and an exponent circuit 904. The bit field processor 806 includes a bit expansion circuit 906 and a bit extraction circuit 908. A 40-bit data word from bus 910 can be source 1 for both bit counter 902 and exponent circuit 904, and a 16-bit mask 9
12 can also be an input to bit counter 902. Bit field count 914 is the bit counter 9
Exponent part 904, bit expansion 906 and extraction 908 from 02
It is output to the device and used for these functions. Bit expansion 906 and bit extraction 908 are shared data bus 916
Has a 16 bit source 2 input from Bit counter 902 includes a number of stages, the first of which directly manipulates source 1 or the mask, with subsequent stages affecting the results of the previous stage. The result of one or more stages is an exponent 904, bit expansion 9
06 and extraction 908 devices.

【0071】本発明をさらに良く理解するため、各装置
902、904、906及び908の動作原理を以下に
説明する。
In order to better understand the present invention, the operating principle of each of the devices 902, 904, 906 and 908 will be described below.

【0072】ビット・カウンタ902は、「セット」又
は「非セット」であるような特定のデータ属性を有する
40ビット・ソース1データ語のようなソース・データ
語又は16ビット・マスク中のビット数をカウントす
る。カウントの結果は、図3でEFCとラベル付けした
バス816を通してA装置レジスタファイル30へ戻さ
れる。
The bit counter 902 may be a source data word, such as a 40 bit source 1 data word, having a particular data attribute such as "set" or "non-set", or the number of bits in a 16-bit mask. Count. The result of the count is returned to the A-device register file 30 via the bus 816 labeled EFC in FIG.

【0073】図10Aと図10Bを参照してビット・フ
ィールド抽出及び展開機能を以下に説明する。ビット・
フィールド抽出に対しては、マスク912中のビット・
パターンを使用してソース2/916からビットを抽出
する。図10Aに図示した実施例では、マスク912中
のビット位置の「セット」ビットにより、ソース2/9
16中の対応して位置するビットがデスティネーション
・レジスタ1002の次ぎの利用可能なビット位置へ
「パック」される。従って、マスク912の最初の「セ
ット」ビット1004aにより、「非セット」ビット1
006aがデスティネーション・レジスタ1002の最
初の利用可能なビット位置1008aに配置される。マ
スク912の「セット」ビットの群1004はソース2
/916からデスティネーション・レジスタ1002の
ビット位置1008へ対応して位置するビット1006
を抽出する。さらに、マスク912のビット位置14の
「セット」ビット1010はソース2/916の位置1
4のビット1012を抽出し、デスティネーション・レ
ジスタ1002の次ぎの利用可能なビット位置1014
にこれを「パック」する。このようにして、データ語か
らある個々の又は群のビットを抽出可能である。抽出機
能は例えば状態レジスタからフラッグを抽出するのに特
に有用である。加えて、抽出機能は、特に移動通信応用
にデータフレームをデインターリーブしたり誤り訂正デ
コードに使用可能である。
The bit field extraction and expansion functions will now be described with reference to FIGS. 10A and 10B. bit·
For field extraction, the bits in mask 912
Extract bits from source 2/916 using pattern. In the embodiment illustrated in FIG. 10A, the “set” bit at the bit position in the mask 912 causes the source 2/9
The correspondingly located bit in 16 is "packed" into the next available bit position in destination register 1002. Thus, the first "set" bit 1004a of the mask 912 causes the "non-set" bit 1
006a is located at the first available bit position 1008a of destination register 1002. Group 1004 of “set” bits in mask 912 is source 2
/ 916 bit corresponding to bit position 1008 of destination register 1002
Is extracted. In addition, the “set” bit 1010 at bit position 14 of mask 912 is the position 1 of source 2/916
4 bit 1012 is extracted and the next available bit position 1014 of the destination register 1002 is extracted.
To "pack" this. In this way, certain individual or groups of bits can be extracted from a data word. The extract function is particularly useful, for example, for extracting flags from a status register. In addition, the extraction function can be used for deinterleaving and error correction decoding of data frames, especially for mobile communication applications.

【0074】展開機能は抽出機能の逆と考えられ、また
その逆も言え、図10Bを参照して以下に説明する。本
実施例では、マスク912の「セット」ビットは、デー
タ語ソース2/916に対して、マスク912のビット
位置に対応するデスティネーション・レジスタ1002
のビット位置にlsb→msbの順序で次ぎの利用可能なビッ
トを「パック」する。従って、マスク912の「セッ
ト」ビット1016aはソース2/916の第1ビット
1018aを取り、これをデスティネーション・レジス
タ1002の位置1020aに配置する。同様に、マス
ク912の群1016はソース2/916から群101
8を取り、これをデスティネーション・レジスタ102
0の群1020に配置する。「セット」ビット1022
はソース2/916の次ぎの利用可能なビット1024
を取り、これをデスティネーション・レジスタ1002
の対応するビット位置1026に配置する。このよう
に、データ語からビットが取られてターゲット・ビット
位置に配置されて目的語を形成する。このような機能は
移動通信システムでデータフレームをインターリーブす
る際に有用である。
The expansion function is considered to be the reverse of the extraction function, and vice versa, and will be described below with reference to FIG. 10B. In this embodiment, the “set” bit of mask 912 is the destination register 1002 corresponding to the bit position of mask 912 for data word source 2/916.
"Pack" the next available bit in the bit position of lsb → msb. Thus, the "set" bit 1016a of the mask 912 takes the first bit 1018a of the source 2/916 and places it at the location 1020a of the destination register 1002. Similarly, group 1016 of masks 912 is grouped from source 2/916 to group 101
8 in the destination register 102
0 in the group 1020. "Set" bit 1022
Is the next available bit 1024 of source 2/916
To the destination register 1002
At the corresponding bit position 1026. Thus, bits are taken from a data word and placed at target bit positions to form an object. Such a function is useful when interleaving data frames in a mobile communication system.

【0075】上記の説明では、デフォールトのビット値
は0又は「非セット」である。しかしながら、当業者に
は明らかなように、デフォールト値は1又は「セット」
も可能である。さらに、「アクティブ」ビット値は0
で、1でないことも可能である。本発明の実施例は16
ビットを含むマスク、ソース及びデスティネーション・
レジスタ又は語に限定されず、その他の適当なビット長
を含んでもよい。
In the above description, the default bit value is 0 or “not set”. However, as will be apparent to those skilled in the art, the default value is 1 or "set".
Is also possible. In addition, the “active” bit value is 0
It is also possible that it is not 1. The embodiment of the present invention is 16
Mask, source and destination
It is not limited to a register or a word, and may include other appropriate bit lengths.

【0076】指数装置904は「指数計算」として知ら
れるものを実行し、図11Aと図11Bを参照してその
動作を以下に説明する。これは例えば浮動小数点算術時
に演算が実行された後浮動小数点数の仮数を正規化する
重要な部分である。
The index device 904 performs what is known as "index calculation", and its operation is described below with reference to FIGS. 11A and 11B. This is an important part of normalizing the mantissa of a floating-point number after an operation is performed, for example, in floating-point arithmetic.

【0077】図11Aを参照すると、浮動小数点数の仮
数が1102とラベル付けされて図示されている。仮数
1102は正規化されておらず、本発明の特定の実施例
では、図11Aに示すようにS、S、...S、notS、
X、Y、...Zの形式で最上位ビットから最下位ビットの
方向に1つ以上の符号ビット「S」1104があること
により指示され、ここでnot符号(notS)1106は符
号ビットから仮数値への転移を指示する。特定の実施例
では、正規化は、指数計算として知られている、「S」
「notS」列1108のビット位置を見出すために仮数
を走査し、この列を仮数値の最上位ビットにシフトし、
指数値を対応するシフト値に更新することを含む。これ
は、正規化仮数1110の最上位ビットに「S」、「no
tS」列1108を示す図11Bに図示したフォーマッ
トを生じる。仮数を含むデータ語のmsbに対応するビッ
ト位置に符号ビットを有するものとして正規化仮数を図
示してあるが、これは常に必要であるということではな
い。データ語は仮数値に必要なものよりも多くのビット
を含んでもよく、仮数のmsb、又は符号ビットはデータ
語のmsb以外の位置でもよい。望ましい実施例では、指
数装置904は正規化の指数計算要素を実行し、シフト
値をシフタ808に渡して仮数をシフトし、A装置レジ
スタファイル30に位置する16ビットA装置データレ
ジスタDRxに渡して、ここで指数値としてストアされ
る。対応するシフトされた仮数は40ビットD装置アキ
ュムレータACxにストアされる。
Referring to FIG. 11A, the mantissa of a floating point number is shown labeled 1102. The mantissa 1102 is not normalized, and in certain embodiments of the present invention, S, S,... S, notS, as shown in FIG.
Indicated by the presence of one or more sign bits “S” 1104 in the form of X, Y,... Z from the most significant bit to the least significant bit, where the not sign (notS) 1106 is Indicates transition to a mantissa value. In certain embodiments, normalization is known as an exponential calculation, "S"
Scan the mantissa to find the bit position of the "notS" column 1108, shift this column to the most significant bit of the mantissa,
Updating the exponent value to the corresponding shift value. This means that the most significant bits of the normalized mantissa 1110 are “S”, “no”
This results in the format illustrated in FIG. Although the normalized mantissa is shown as having a sign bit at the bit position corresponding to the msb of the data word containing the mantissa, this is not always necessary. The data word may include more bits than required for the mantissa value, and the mantissa msb, or sign bit, may be in a location other than the data word msb. In the preferred embodiment, the exponent unit 904 performs the exponent calculation element of the normalization, passes the shift value to the shifter 808 to shift the mantissa, and passes it to the 16-bit A unit data register DRx located in the A unit register file 30. , Where it is stored as an exponent value. The corresponding shifted mantissa is stored in a 40-bit D-device accumulator ACx.

【0078】図12に戻ると、本発明の望ましい実施例
に従ってビットカウンタ902を含む共通回路とカウン
ト回路のより詳細な説明が与えられる。観察を容易にす
るため、図12は図12Aと図12Bの2枚に分割さ
れ、線AA‘上で分割結合される。
Returning to FIG. 12, a more detailed description of the common circuit including the bit counter 902 and the counting circuit according to a preferred embodiment of the present invention is provided. FIG. 12 is divided into two parts of FIG. 12A and FIG. 12B and divided and connected on a line AA ′ for easy observation.

【0079】図12に図示するように、望ましい実施例
の回路は4段1202、1206及び1208に分割さ
れ、段1208はビットカウンタの結果を与えるビット
カウンタ902のその部分のテール回路である。
As shown in FIG. 12, the circuit of the preferred embodiment is divided into four stages 1202, 1206 and 1208, with stage 1208 being the tail circuit of that portion of bit counter 902 which provides the result of the bit counter.

【0080】ソース1データ語910は40ビット又は
16ビット語である。しかしながら、図12に図示した
例では、40ビット語がビットカウンタ902に入力さ
れている。ソースのデータ語は共通回路の第1段120
2を含むカウンタ組1210(a−j)に入力される。
各カウンタ1210(a−j)は2ビット出力とキャリ
・ビットの4ビット入力を有する「4対2キャリ出力付
き(4 into 2 with carry out)」カウンタである。ソ
ース・データ語は4ビットの群に分割され各群は各カウ
ンタ1210に入力される。カウンタ1210は論理的
に対に群分けされ、ビットの隣接群はカウンタの隣接対
に入力される。
Source 1 data word 910 is a 40-bit or 16-bit word. However, in the example shown in FIG. 12, a 40-bit word is input to the bit counter 902. The source data word is the first stage 120 of the common circuit.
2 is input to the counter set 1210 (a-j).
Each counter 1210 (a-j) is a "4 into 2 with carry out" counter having a two bit output and a four bit input for the carry bit. The source data words are divided into groups of 4 bits, each group being input to a respective counter 1210. Counters 1210 are logically grouped into pairs, with adjacent groups of bits being input to adjacent pairs of counters.

【0081】カウンタとビット群は以下の表1に示すよ
うに対にされる。
The counters and bit groups are paired as shown in Table 1 below.

【表1】 [Table 1]

【0082】カウンタ1210のある出力は共通回路の
第2段1206に入力され、いくつかはビット・フィー
ルド・プロセッサ802の他の装置の出力N1を形成す
る。第2段1206は、各々が「3対2(3 into 2)」
カウンタである5個のカウンタ1212(a−e)を含
む。各カウンタ1212(a−e)は第1段1202の
2個の関連カウンタから同じ入力を受取り、8ビット・
フィールドを表す出力を与える。カウンタ1212aと
関係するカウンタ1210aと1210bの動作を段1
202と段1206の関連カウンタの組、すなわち12
12bと関係する1210cと1210d、1212c
と関係する1210eと1210f、1212dと関係
する1210gと1210h及び1212eと関係する
1210iと1210jの動作の例として以下に説明す
る。
Certain outputs of the counter 1210 are input to a second stage 1206 of the common circuit, some forming outputs N1 of other devices of the bit field processor 802. The second stage 1206 consists of “3 into 2”
It includes five counters 1212 (ae) which are counters. Each counter 1212 (ae) receives the same input from the two associated counters in the first stage 1202, and
Give output representing the field. The operation of counters 1210a and 1210b related to counter 1212a is
A set of related counters of 202 and stage 1206, ie, 12
1210c and 1210d, 1212c related to 12b
The operations of 1210e and 1210f related to the above and 1210g and 1210h related to the 1212d and 1210i and 1210j related to the 1212e will be described below as examples.

【0083】カウンタ1210aと1210bのキャリ
出力(1214、1216)は、カウンタ1210aの
最上位ビット(msb)1218と共にカウンタ1212
aに入力される。カウンタ1210bのキャリ出力は又
カウンタ1210bの結果(1222、1224)と共
に出力N1も形成する。
The carry outputs (1214, 1216) of the counters 1210a and 1210b are output together with the most significant bit (msb) 1218 of the counter 1210a.
is input to a. The carry output of counter 1210b also forms an output N1 with the result (1222, 1224) of counter 1210b.

【0084】第1段1202の他のカウンタ1210は
同様に第2段1206の各関連カウンタ1212に結合
される。さらに、キャリ出力を含むカウンタ1210d
の出力は第2段出力N0を形成する。
The other counters 1210 in the first stage 1202 are likewise coupled to the respective counters 1212 in the second stage 1206. Further, a counter 1210d including a carry output
Form the second stage output N0.

【0085】カウンタ1212aの結果(1228、1
230)は4ビット加算器1226aに入力され、この
加算器は共通回路の第2段1206の4ビット加算器1
226の一部である。出力のmsb1228はビット位置
2に入力され、lsb1230はビット位置1へ入力され
て第1段1202のカウンタ1210bからのmsb12
22出力に加算される。カウンタ1210aのlsb12
20は加算器1226aのビット位置0でカウンタ12
10bのlsb1224に加算される。第1及び第2段1
202、1206のその関連カウンタ1210と121
2から対応する入力が加算器1226b、1226c、
1226dと1226eに行なわれる。
The result of the counter 1212a (1228, 1
230) is input to a 4-bit adder 1226a, which is the 4-bit adder 1 of the second stage 1206 of the common circuit.
226. The output msb 1228 is input to bit position 2 and the lsb 1230 is input to bit position 1 to provide msb 12 from the counter 1210b of the first stage 1202.
It is added to 22 outputs. Lsb12 of counter 1210a
20 is the bit position 0 of the adder 1226a and the counter 12
It is added to lsb 1224 of 10b. First and second stage 1
202, its associated counters 1210 and 121 at 1206
The corresponding inputs from 2 are adders 1226b, 1226c,
Performed at 1226d and 1226e.

【0086】望ましい実施例による段1202の動作を
表2を参照して以下に説明し、この表2は、入力が1又
は3個の「セット」ビットを含む時にSumとC0出力が
セットされるようにSum(S)出力と2個のキャリ出力
CとC0とを含むカウンタ1210(a−j)の内の1
個の動作を図示する。各カウンタ1210(a−j)は
4ビット・フィールドを走査し、表2に示すように結果
をコード化する。
The operation of stage 1202 in accordance with the preferred embodiment is described below with reference to Table 2, which shows that the Sum and C0 outputs are set when the input includes one or three "set" bits. As described above, one of the counters 1210 (a-j) including the Sum (S) output and the two carry outputs C and C0.
FIG. Each counter 1210 (a-j) scans a 4-bit field and encodes the result as shown in Table 2.

【表2】 [Table 2]

【0087】段1202は「ワラス状」縮減ツリーの第
1段として作動して8ビット・フィールドのビット・カ
ウントを得る。上記の段1202の各出力N0とN1は
表2に従っており、4ビット・フィールド3:0と1
1:8のセット・ビット(1)の数を表す。
Stage 1202 operates as the first stage of a "wallace-like" reduction tree to obtain a bit count of an 8-bit field. Each output N0 and N1 of stage 1202 above is in accordance with Table 2 and is a 4-bit field 3: 0 and 1
Represents the number of 1: 8 set bits (1).

【0088】段1206は8ビット・フィールドのビッ
ト・カウントを得るために使用される。この点に関し
て、カウンタ1212(a−e)は、各8ビット・フィ
ールドにより対に取られたカウンタ1210の出力を基
に、段1206の加算器1226(a−e)により実行
された和に8ビット・フィールドを各々縮減させるため
に使用される「ワラス状」縮減ツリーの最終段を含む。
Stage 1206 is used to obtain a bit count for an 8-bit field. In this regard, counters 1212 (a-e) add 8 to the sum performed by adders 1226 (a-e) in stage 1206, based on the output of counter 1210 paired by each 8-bit field. Includes the final stage of the "Wallace-like" reduction tree used to reduce each bit field.

【0089】各加算器1226からの4ビット出力は最
終ビット・カウンタ段1208に転送され、加算器12
26bの出力(NNO)も指数部904、及び展開90
6と抽出908装置のような他の装置による使用のため
に与えられる。段1206の出力NN0はソース・デー
タ語のビット7:0から形成された8ビット・フィール
ドのセット・ビット(1)の数を表す「古典的に」コー
ド化された2進数フィールドである。望ましい実施例で
は、段1208は「ワラス状」縮減ツリーで、段120
6からの中間8ビット・フィールド・ビット・カウント
を入力として取り、ソースからの全入力語上の最終ビッ
ト・カウントを得る。
The 4-bit output from each adder 1226 is transferred to the last bit counter stage 1208, where
The output (NNO) of 26b is also the exponent part 904 and the expansion 90
6 and provided for use by other devices such as the extraction 908 device. The output NN0 of stage 1206 is a "classically" coded binary field that represents the number of set bits (1) of the 8-bit field formed from bits 7: 0 of the source data word. In the preferred embodiment, stage 1208 is a "wallace-like" reduced tree and stage 120
Take the intermediate 8-bit field bit count from 6 as input and get the final bit count on all input words from the source.

【0090】望ましい実施例では、カウント段1208
は4個の「4対2キャリ出力付き」カウンタ1232
(a−d)の群を含み、第2段1206の4個の最小位
加算器1212a、1212b、1212cと1212
dからの入力を受取る。カウンタ1232への加算器1
212(a−d)からの出力の分布は表3に展開されて
いる。
In the preferred embodiment, the counting stage 1208
Are four “with 4 to 2 carry output” counters 1232
(Ad), the four least significant adders 1212a, 1212b, 1212c and 1212 of the second stage 1206
Receive input from d. Adder 1 to counter 1232
The distribution of outputs from 212 (ad) is expanded in Table 3.

【表3】 [Table 3]

【0091】望ましい実施例では、ビットカウント段1
208は別の群のカウンタ、本例では「3対2(3 into
2)」カウンタ1234(a−e)を含む。カウンタ1
234は以下の表4に従ってカウンタ1232と共通回
路の第2段1206の加算器1226eと結合され、こ
こでC、SとCoの各々は図12に示した和(Sum)、
第1キャリ出力及び第2キャリ出力COに対応する。
In the preferred embodiment, bit count stage 1
208 is another group of counters, in this example "3 into 2 (3 into 2)
2) "includes the counters 1234 (ae). Counter 1
234 is coupled to the counter 1232 and the adder 1226e of the second stage 1206 of the common circuit according to Table 4 below, where each of C, S and Co is the sum (Sum) shown in FIG.
It corresponds to the first carry output and the second carry output CO.

【表4】 [Table 4]

【0092】未使用入力は0にセットされ、カウンタ1
232b、1232cと1232dの「キャリ出力」C
Oはカウンタ1232a、1232bと1232cの
「キャリ入力」に各々入力されることに注意すべきであ
る。
The unused input is set to 0 and the counter 1
"Carry out" C for 232b, 1232c and 1232d
It should be noted that O is input to the "carry input" of counters 1232a, 1232b and 1232c, respectively.

【0093】ビット・カウント段1208の最終段は5
ビット加算器1236を含み、これはビット・カウント
結果の5最上位ビットを与える。ビット・カウント結果
のlsbはカウンタ1234eからのlsb出力である。12
34eのmsbはビット位置1で1234dのlsbに加算さ
れ、1234dのmsbはビット位置2で1234cのlsb
に加算され、1234cのmsbはビット位置3で123
4bのlsbに加算され、1234bのmsbはビット位置4
で1234aのlsbに加算され、1234aのmsbはビッ
ト位置5で0に加算される。
The last stage of the bit count stage 1208 is 5
It includes a bit adder 1236, which provides the five most significant bits of the bit count result. The bit count result lsb is the lsb output from the counter 1234e. 12
The msb of 34e is added to the lsb of 1234d at bit position 1 and the msb of 1234d is the lsb of 1234c at bit position 2.
And the msb of 1234c is 123 at bit position 3.
4b is added to the lsb of 1b, and the msb of 1234b is
Is added to the lsb of 1234a, and the msb of 1234a is added to 0 at bit position 5.

【0094】ビット群15:12と11:8にビットを
セットし、他の全てのビット位置が0にセットされてい
る40ビット・データ語に対してビット・カウンタ90
2の動作例を以下に説明する。
Bits are set in bit groups 15:12 and 11: 8 and a bit counter 90 is set for a 40-bit data word in which all other bit positions are set to zero.
Operation example 2 will be described below.

【0095】カウンタ1210aと1210bは各ビッ
トの「セット」ビット、又は「1」の発生数をカウント
し、これは本例では各カウンタ1210a、1210b
の1220と1224には1の出力を、1218、12
22、及び「キャリ出力」1214と1216には0を
生じる。セット・ビット1220と1224はビット位
置0で4ビット加算器1226aで互いに加算され、出
力のビット1がセットされている結果を生じる。セット
・ビットはカウンタ1232cのビットに入力され、他
の全ての入力は0であり、出力のlsbをセットする。こ
れは、他の全ての入力に0又は「非セット」を有する加
算器1236のビット位置1に入力される。従って、加
算器1236の出力は000010で、これは10進数2であ
る。
The counters 1210a and 1210b count the number of occurrences of the "set" bit or "1" of each bit, which in this example are the counters 1210a and 1210b.
1220 and 1224 are output of 1
22 and a "carry out" 1214 and 1216 produce a zero. Set bits 1220 and 1224 are added together at bit position 0 in 4-bit adder 1226a, resulting in bit 1 of the output being set. The set bit is input to a bit of the counter 1232c, all other inputs are 0, and sets the output lsb. This is input to bit position 1 of adder 1236 which has 0 or "not set" on all other inputs. Therefore, the output of adder 1236 is 000010, which is a decimal number two.

【0096】当業者はこれに入力されるその他のデータ
語に対するカウンタ902の動作を容易に理解できる。
Those skilled in the art can easily understand the operation of the counter 902 for other data words input thereto.

【0097】ビット抽出を以下に説明する。望ましい実
施例によりビット抽出を実行する方法は、再帰ソートの
一般的分類に該当する。一般的に、2個の連続ビット・
フィールド(インデックスiとi+1により指示され、
ここでiは0を含む整数)がソース・データ語から取ら
れる。各フィールドは2pのサイズであり、ここでpは
0を含む正の整数である。ここでマスクに戻ると、マス
クのビット・フィールドi内の「セット」ビット、又は
「1」の数が決定される。この数は2p+1値(すなわ
ち、0と2pの範囲内の数)を有し得る。ソースのi+
1番フィールドのビットはソースのi番フィールドにシ
フトされ、マスクのi番フィールドに見出されたセット
・ビットの数に応じて既にそこにあるビットを偏移させ
る。例えば、n(マスク・フィールドiの「1」にセッ
トされたビット数)=0の場合、i+1番フィールドの
全てのビットはi番フィールドに移動し、新たなi+1
番ビット・フィールドは0で満たされる。
The bit extraction will be described below. The method of performing bit extraction according to the preferred embodiment falls under the general category of recursive sorting. In general, two consecutive bits
Fields (indicated by indexes i and i + 1,
Where i is an integer including 0) is taken from the source data word. Each field is 2p in size, where p is a positive integer including 0. Returning now to the mask, the number of "set" bits, or "1", in bit field i of the mask is determined. This number may have a 2p + 1 value (ie, a number in the range of 0 and 2p ). Source i +
The bits of the first field are shifted to the i-th field of the source, shifting the bits already there according to the number of set bits found in the i-th field of the mask. For example, if n (the number of bits set to "1" in the mask field i) = 0, all bits in the (i + 1) th field are moved to the (i) th field, and a new i + 1
The bit field is filled with zeros.

【0098】この過程はp=0から開始する。p=0で
は、フィールド・サイズは1ビットで、i番目とi+1
番目の連続ビット・フィールドとi番目ビット・フィー
ルド・マスクは各々ソース[s(i+1),s(i)]とマスク[m
(i)]として表現可能である。m(i)=0の場合、s(i+1)は位
置iにコピーされ以下のビット・フィールド[0,i+1]を
生じる。生成したビット・フィールドは2p+1位置を有
し、新たにシフト入力されたビットは0に強制される。
m(i)=1の場合、生成するビット・フィールドは[i+1,i]
で、ソース・ビット・フィールドに関しては不変のまま
である。以上が並列に8ビット・フィールド対に、例え
ば16ビット・ソースに実行可能である。
This process starts from p = 0. For p = 0, the field size is 1 bit, i-th and i + 1
The ith consecutive bit field and the ith bit field mask are the source [s (i + 1), s (i)] and the mask [m
(i)]. If m (i) = 0, s (i + 1) is copied to position i, resulting in the following bit field [0, i + 1]. The generated bit field has 2 p + 1 positions, and the newly shifted in bits are forced to zero.
If m (i) = 1, the generated bit field is [i + 1, i]
And remains unchanged for the source bit field. The above can be performed in parallel on an 8-bit field pair, for example on a 16-bit source.

【0099】サイズ2pのビット・フィールドに対して
上述の過程を完了すると、次の段階はサイズ2p+1のビ
ット・フィールドを処理することである。従って、pは
p=1に増分可能で、この過程が再開始される。ここで
はビット・フィールドは2ビット位置を含み、ソース・
フィールド[s(i+1)msb,s(i+1)lsb],[S(i)msb,s(i)ls b]
とマスク・フィールド[m(i)msb,m(i)lsb]を生じる。2
ビットのビット・フィールドは[0,0]、[0,1]又は[1,1]
対の形式である。従って、抽出過程での上位ビットはビ
ット・フィールドの右側に進行し、未使用ビットは次第
に除去されていくことが理解できる。ここでm(i)=00に
対して、生成ビット・フィールドは[0,0,s(i+1)]、m(i)
=01に対して、生成ビット・フィールドは[0,s(i+1),s
(i)msb]、m(i)=11に対して、[s(i+1),s(i)]
Size 2pFor a bit field of
After completing the above process, the next step is size 2p + 1No
To process the set field. Therefore, p is
The process can be restarted, incrementing to p = 1. here
Indicates that the bit field contains two bit positions and the source
Field [s (i + 1)msb, s (i + 1)lsb], [S (i)msb, s (i)ls b]
And the mask field [m (i)msb, m (i)lsb]. 2
The bit field of bits is [0,0], [0,1] or [1,1]
It is a pair format. Therefore, the upper bits in the extraction process are
Bit to the right of the
It can be understood that it is removed. Where m (i) = 00
In contrast, the generated bit fields are [0,0, s (i + 1)], m (i)
= 01, the generated bit field is [0, s (i + 1), s
(i)msb], M (i) = 11, [s (i + 1), s (i)]

【0100】各マスク値に対する可能な生成ビット・フ
ィールドは表5−7に示されている。
The possible generated bit fields for each mask value are shown in Tables 5-7.

【表5】 [Table 5]

【表6】 [Table 6]

【表7】 [Table 7]

【0101】pの値をここで増分し(p=2)、表5か
ら7から分かるようにマスクm(i)に従って右詰された前
に処理されたビット・フィールドに抽出過程が再開始さ
れる。上述のアルゴリズムは16ビット・ソース語に対
してp=4で適用される。これ以上又は以下のビット数
を含むソース語はpの適切な大きな又は小さな値を使用
して処理される。
The value of p is now incremented (p = 2) and the extraction process is restarted on the right-justified previously processed bit field according to mask m (i), as can be seen from Tables 5-7. You. The above algorithm is applied at p = 4 for a 16-bit source word. Source words containing more or less bits are processed using appropriate large or small values of p.

【0102】以後図13を参照して説明される望ましい
実施例では、エンコーダが2までのpに対して単一ステ
ップでビット・フィールドをソートする。
In the preferred embodiment described hereinafter with reference to FIG. 13, the encoder sorts the bit field in a single step for up to two p's.

【0103】上述のアルゴリズムを次いでp=2から4
までに使用する。ソース及びマスクが16ビット以上を
含む場合pはより大きな値を有することは当業者には明
らかである。
The above algorithm is then followed by p = 2 to 4
Use up to. It will be apparent to those skilled in the art that p has a larger value if the source and mask include more than 16 bits.

【0104】抽出装置908の望ましい実施例を以下に
図13を参照して説明する。図13の右側1302は抽
出装置908により利用されるビット・カウンタ902
の共通回路のブロック線図である。抽出回路908に固
有の回路は左側1304に図示されている。
A preferred embodiment of the extraction device 908 will be described below with reference to FIG. 13 is the bit counter 902 used by the extractor 908.
3 is a block diagram of a common circuit of FIG. Circuits specific to the extraction circuit 908 are shown on the left 1304.

【0105】望ましい実施例では、ソース2/916は
4ビットの4群に分割され、各群は各エンコーダ130
6、1308、1310と1312に転送される。同様
に、マスク912もエンコーダ1306,1308、1
310と1312に入力される4ビットの群に分割され
る。エンコーダは以下のようにビット・フィールドと関
係する、iは1312にi+1は1310に、i+2は
1308に、そしてi+3は1306と関係する。
In the preferred embodiment, source 2/916 is divided into four groups of four bits, each group having a
6, 1308, 1310 and 1312. Similarly, the mask 912 also includes encoders 1306, 1308, and 1
It is divided into groups of 4 bits input to 310 and 1312. The encoder relates to the bit field as follows: i relates to 1312, i + 1 relates to 1310, i + 2 relates to 1308, and i + 3 relates to 1306.

【0106】エンコーダ1306、1308,1310
と1312の各々は4ビットの出力を有し、その内13
06と1308は第1レベル「8x5対1」マルチプレ
クサ1314に入力され、1310と1312は他の第
1レベル「8x5対1」マルチプレクサ1316に入力
される。マルチプレクサ1314はビット・カウンタ9
02の第1段1202からの出力N1により制御され、
マルチプレクサ1316もビット・カウンタ902の第
1段1202からの出力N0により制御される。N1と
N0は各々3ビットを含み、各マルチプレクサ1314
と1316はN1とN0をデコードしてカウンタ121
0bと1210dによりコード化されたカウント値を得
て、マルチプレクサ1314と1316の各々内の5ビ
ット位置の1つへマルチプレクサ入力を選択し向ける。
Encoders 1306, 1308, 1310
And 1312 each have a 4-bit output, of which 13
06 and 1308 are input to a first level “8 × 5 to 1” multiplexer 1314, and 1310 and 1312 are input to another first level “8 × 5 to 1” multiplexer 1316. Multiplexer 1314 is a bit counter 9
02, controlled by the output N1 from the first stage 1202,
Multiplexer 1316 is also controlled by output N0 from first stage 1202 of bit counter 902. N1 and N0 each include 3 bits and each multiplexer 1314
And 1316 decode N1 and N0 to obtain the counter 121
Obtaining the count values coded by Ob and 1210d selects and directs the multiplexer input to one of the 5 bit positions within each of the multiplexers 1314 and 1316.

【0107】マルチプレクサ1314、1316の8ビ
ット出力1318、1320は、ビット・プロセッサ9
02の共通回路の第2段の出力NN0により制御可能な
第2レベル「16X9対1」マルチプレクサ1322へ
入力される。マルチプレクサ1322の出力1324は
抽出された結果を与え、デスティネーション・レジスタ
1326に入力される。
The 8-bit outputs 1318 and 1320 of the multiplexers 1314 and 1316 are connected to the bit processor 9.
02 is input to a second level “16 × 9 to 1” multiplexer 1322 that can be controlled by the output NN0 of the second stage of the common circuit. Output 1324 of multiplexer 1322 provides the extracted result and is input to destination register 1326.

【0108】各エンコーダの動作の1例として単一のエ
ンコーダ1306の真理値表を図示する図14を参照し
て、本発明の望ましい実施例によるエンコーダ130
6、1308,1310,1312の動作のより詳細な
説明を以下に与える。望ましい実施例では、全てのエン
コーダは同様に動作することに注意すべきである。入力
Aはソース2/916からビットを受取り、入力Mはマ
スク912からビットを受取る。Sはエンコーダ出力で
ある。図14の真理値表から明瞭に分かるように、マス
ク912のビットの群(M0−M3)中の「セット」ビ
ットに対して、ソース2/916のビット群(A0−A
3)中の対応する位置からのビット値が、出力(S0−
S3)の次ぎに利用可能なビット位置(すなわち、A入
力からビット値を受取っていない)に通信される。
Referring to FIG. 14, which illustrates a truth table for a single encoder 1306 as an example of the operation of each encoder, an encoder 130 according to a preferred embodiment of the present invention is shown.
6, 1308, 1310, 1312 are given below in more detail. It should be noted that in the preferred embodiment, all encoders operate similarly. Input A receives bits from source 2/916, and input M receives bits from mask 912. S is an encoder output. As can be clearly seen from the truth table of FIG. 14, for the "set" bits in the group of bits (M0-M3) of the mask 912, the bit group (A0-A) of the source 2/916
3) The bit value from the corresponding position in the output (S0-
The next available bit position after S3) is communicated (ie, no bit value has been received from the A input).

【0109】エンコーダ1306の動作は又以下の式に
より表現してもよい:
The operation of encoder 1306 may also be expressed by the following equation:

【数1】 (Equation 1)

【0110】ここで記号「SX」はソース2/916か
らのビット値により占有されるビット位置の数を表し、
すなわちS3は、ソース2からのビット値により出力の
ビット3が占有されていることを指示し、一方S0は、
出力の最小位ビットを発生する入力がそのように占有さ
れていることを指示する。
Where the symbol "SX" represents the number of bit positions occupied by bit values from source 2/916,
That is, S3 indicates that bit 3 of the output is occupied by the bit value from source 2, while S0 is
Indicates that the input producing the least significant bit of the output is so occupied.

【0111】図13のマルチプレクサ1314、131
6と1322の動作のより詳細な説明を図15を参照し
て以下に与える。第1レベル・マルチプロセッサ、例え
ば1316は、本例では1対のエンコーダ1310、1
312からこれへの8ビット(A0−A7)入力を有す
る。未使用入力は0にセットされる。マルチプレクサ1
316は「8x5→1」マルチプレクサであるため、こ
れは各々が5入力(0−4)を有する8ポート1502
を含む。マルチプレクサ・ポートは、ビット・カウンタ
902の共通回路の第1段1202から出力された3ビ
ットN0により制御される。エンコーダ1310、13
12の対の出力(A0−A7)は図15に図示するよう
にマルチプレクサ・ポート1502に分配される。望ま
しい実施例のマルチプレクサ・ポートはアクティブ・ロ
ー選択であるが、その他の実装に使用される論理レベル
に依存してアクティブ・ハイ選択でもよい。
The multiplexers 1314 and 131 shown in FIG.
A more detailed description of the operation of 6 and 1322 is given below with reference to FIG. The first level multiprocessor, for example 1316, in this example is a pair of encoders 1310, 1
It has an 8-bit (A0-A7) input from 312 to it. Unused inputs are set to zero. Multiplexer 1
Since 316 is an “8 × 5 → 1” multiplexer, this is an 8-port 1502, each having 5 inputs (0-4).
including. The multiplexer port is controlled by three bits N0 output from the first stage 1202 of the common circuit of the bit counter 902. Encoders 1310, 13
The twelve pairs of outputs (A0-A7) are distributed to multiplexer ports 1502 as shown in FIG. The multiplexer port in the preferred embodiment is active low select, but may be active high select depending on the logic level used in other implementations.

【0112】N0に応じて、特定の入力がマルチプレク
サ出力1320に通信される。
In response to N0, a particular input is communicated to multiplexer output 1320.

【0113】ビット・カウンタ902の第1段1202
からのN1出力の制御下で同様の方式がエンコーダ13
06、1308の対の要素(A8−A15)に使用され
る。さらに、同様の方式がマルチプレクサ1322に使
用されるが、これは「16x9→1」マルチプレクサで
あるため、16ポートの各々に対して9入力の内の1つ
を選択するため9値を与えるよう4制御ビットが必要で
ある。
First stage 1202 of bit counter 902
A similar scheme under control of the N1 output from
06, 1308 are used for the paired elements (A8-A15). In addition, a similar scheme is used for multiplexer 1322, but since this is a “16 × 9 → 1” multiplexer, for each of the 16 ports, four values are provided to provide one of nine inputs to select one of the nine inputs. Control bits are required.

【0114】表8の助けにより「16x9→1」マルチ
プレクサ1320の動作を以下に説明する。マルチプレ
クサ1320の各ポートへの入力はE0→E8とラベル
付けされる。マルチプレクサ1320入力はA15→A0
とラベル付けされ、「Mux.」数はマルチプレクサ出力の
ビット重みに対応し、図13の1324を参照された
い。「0」は0に強制されている未使用入力と関係す
る。
The operation of the “16 × 9 → 1” multiplexer 1320 with the help of Table 8 is described below. The inputs to each port of multiplexer 1320 are labeled E0 → E8. The input of the multiplexer 1320 is A 15 → A 0
And the “Mux.” Number corresponds to the bit weight of the multiplexer output, see 1324 in FIG. “0” is associated with an unused input being forced to zero.

【表8】 [Table 8]

【0115】ビット抽出装置908の望ましい実施例の
動作の理解をさらに助けるため、各種の要素の各入力と
出力値を以下のソース・データ語に対して説明する; 1000111010001111、 マスクは; 1111100000000001
To further understand the operation of the preferred embodiment of the bit extractor 908, the input and output values of the various elements are described for the following source data words: 1000111010001111, the mask is: 1111100000000001

【0116】上述のソースとマスク・データ語に対し
て、エンコーダからの出力は表9に示すようなものであ
る。
For the above source and mask data words, the output from the encoder is as shown in Table 9.

【表9】 [Table 9]

【0117】共通回路からの出力はN1=001(2進
数)=1(10進数)とN0=001(2進数)=1
(10進数)を有する。
The outputs from the common circuit are N1 = 001 (binary) = 1 (decimal) and N0 = 001 (binary) = 1
(Decimal number).

【0118】マルチプレクサ1316への入力は2、00
000001で、マルチプレクサ1314へは10000001であ
る。マルチプレクサ1316はN0=1により制御さ
れ、出力1320=0000001を与え、マルチプレクサ1
314はN1=1により制御され、出力1318=0010
1001を与える。この出力は、0011000100000001の形式の
マルチプレクサ1322への16ビット入力を与える。
マルチプレクサ1322はNN0=00000001(2進数)
=1(10進数)により制御され、出力=000000000010
0011を与える。
The input to the multiplexer 1316 is 2,00.
000001 and 10000001 to the multiplexer 1314. Multiplexer 1316 is controlled by N0 = 1, provides output 1320 = 0000001,
314 is controlled by N1 = 1 and output 1318 = 0010
Give 1001. This output provides a 16-bit input to a multiplexer 1322 of the form 0011000100000001.
The multiplexer 1322 is NN0 = 00000001 (binary number)
= 1 (decimal number), output = 000000000010
Give 0011.

【0119】この出力は一般的に上述したビット抽出機
能から期待されるものに従う。
This output generally follows that expected from the bit extraction function described above.

【0120】図16を参照してビット・フィールド展開
回路のより詳細な説明を以下に与える。図16に概略的
に図示するように、ビット・フィールド展開回路はビッ
ト・カウンタ902の共通回路1302を含む。展開装
置906に固有の回路は1602とラベル付けした図1
6の左側に示される。上述したように、ビット・フィー
ルド展開機能はビット・フィールド抽出機能の逆と考え
られる。従って、ビット・フィールド抽出回路1304
の第1及び第2レベル・マルチプレクサ1314、13
16と1322は各々第1レベルと第2レベルに対して
デマルチプレクサ1608、1606と1604により
置換え可能である。各デマルチプレクサの制御信号は共
通回路1302からのN1、N0とNN0出力であり、
ビット・フィールド抽出回路1304の入力制御信号に
対応する。従って、第1及び第2レベル・セレクタを通
したソース1610からのビットの伝播は、ビット・フ
ィールド抽出回路1304の第1及び第2レベル・セレ
クタ間のビットの伝播に関連して逆転している。
A more detailed description of the bit / field expansion circuit will be given below with reference to FIG. As schematically illustrated in FIG. 16, the bit field expansion circuit includes a common circuit 1302 of the bit counter 902. The circuit specific to the deployment device 906 is labeled FIG.
6 to the left. As described above, the bit field expansion function is considered to be the reverse of the bit field extraction function. Therefore, the bit field extraction circuit 1304
First and second level multiplexers 1314, 13
16 and 1322 can be replaced by demultiplexers 1608, 1606 and 1604 for the first and second levels, respectively. The control signals of each demultiplexer are N1, N0 and NN0 outputs from the common circuit 1302,
It corresponds to the input control signal of the bit / field extraction circuit 1304. Accordingly, the propagation of bits from the source 1610 through the first and second level selectors is reversed relative to the propagation of bits between the first and second level selectors of the bit field extraction circuit 1304. .

【0121】ビット・フィールド・エンコーダ161
2、1614、1616と1618はビット・フィール
ド抽出回路1304のエンコーダ1306、1308、
1310と1312とは異なって動作する。これらのエ
ンコーダの各々の動作の1例として単一のエンコーダ1
612の真理値表を図示する図17を参照して、本発明
の望ましい実施例によるエンコーダ1612、161
4、1616と1618の動作を以下に説明する。入力
Aはデマルチプレクサ1606又は1608の一方から
のビットを受取り、入力Mはマスク1622からのビッ
トを受取る。Sはエンコーダ出力である。図17の真理
値表から分かるように、マスク1622のビット群(M
0−M3)中の第1の「セット」ビットに対して、デマ
ルチプレクサ1608からのビット群(A0−A3)か
らの第1の利用可能なビット値が、ビットの出力群(S
0−S3)中の対応する位置に通信され、以後の「セッ
ト」ビットとビット値に対しても同様である。エンコー
ダ1612の出力がレジスタのデスティネーションの最
上位ビットであるように出力Sがデスティネーション・
レジスタ1620に入力され、エンコーダ1614,1
616と1618はデスティネーション・レジスタ16
20の次ぎの連続する上位ビットの組を与える。未使用
位置は0で「パッド」される。
Bit field encoder 161
2, 1614, 1616 and 1618 are encoders 1306, 1308 of the bit / field extraction circuit 1304,
1310 and 1312 operate differently. One example of the operation of each of these encoders is a single encoder 1
Referring to FIG. 17, which illustrates a truth table 612, encoders 1612, 161 according to a preferred embodiment of the present invention
4, 1616 and 1618 are described below. Input A receives bits from one of demultiplexers 1606 or 1608, and input M receives bits from mask 1622. S is an encoder output. As can be seen from the truth table of FIG. 17, the bit group (M
0-M3), the first available bit value from the bit group (A0-A3) from the demultiplexer 1608 is the output group of bits (S
0-S3) to the corresponding position, and so on for subsequent "set" bits and bit values. Output S is the destination bit such that the output of encoder 1612 is the most significant bit of the destination of the register.
The data is input to the register 1620 and the encoders 1614, 1
616 and 1618 are the destination register 16
Gives the next successive set of 20 most significant bits. Unused positions are "padded" with zeros.

【0122】エンコーダ1612の動作は以下の式によ
っても表される:
The operation of encoder 1612 is also represented by the following equation:

【数2】 (Equation 2)

【0123】ここで記号SX“はエンコーダ入力(A)
の対応する位置からのビット値により占有されるエンコ
ーダ出力中のビット位置を表す。
Here, the symbol SX "is an encoder input (A)
Represents the bit position in the encoder output occupied by the bit value from the corresponding position of.

【0124】第2及び第1レベル・マルチプレクサ16
04、1606及び1608を通したソース2/161
0からのビットの進行は、図15に図示したマルチプレ
クサを参照し、データ流れを逆転することにより追随可
能である。第2及び第1レベル・マルチプレクサの動作
は、ビット・フィールド抽出回路1304とビット・フ
ィールド展開回路1602とのマルチプレクサ間の相互
性に関して通常技術を有する人間には容易に明らかとな
る。
Second and first level multiplexer 16
Source 2/161 through 04, 1606 and 1608
The progression of the bits from zero can be followed by reversing the data flow with reference to the multiplexer shown in FIG. The operation of the second and first level multiplexers will be readily apparent to those having ordinary skill in the art with respect to the interoperability between the bit field extractor 1304 and bit field expander 1602 multiplexers.

【0125】図18を参照して指数カウント回路904
の詳細な説明を以下に与える。発明の望ましい実施例で
は、指数カウント回路904はビット・カウンタ902
の2段1202と1206、及び指数計算の最終部分を
実行するテール部分1802を含む。参照を容易にする
ため図18は2ページに分割されている。
Referring to FIG. 18, exponent count circuit 904
A detailed description of is given below. In the preferred embodiment of the invention, the exponent counting circuit 904 includes a bit counter 902
, And a tail portion 1802 that performs the final portion of the index calculation. FIG. 18 is divided into two pages for easy reference.

【0126】テール部分1802への段1206の出力
は、ソース1910中のデータ語のmsbから開始する
「セット」ビットの列に対応する。段1206の出力は
テール部分1802とセレクタ1814のエンコーダの
選択信号を与える。データ語は8ビット群に分割され、
msbから開始して、全てのビットが「セット」された各
群に対して出力SoXとNNXにより表される8ビット
・オフセットがコード化されるように、コード化され選
択される。全てのビットが「セット」されていない8ビ
ット群に対しては、群のmsbに対するビット転移の位置
が、転移が発生する群に対してSoXとNNXによりコ
ード化され表される。セレクタ1814はアルゴリズム
とSoX、NNX入力に従って操作され、仮数を正規化
するのに必要なビット・シフトに対応する結果を出力す
る。アルゴリズムは任意の指定正規化符号位置に対して
もビット・シフトを与えるように構成可能である。
The output of stage 1206 to tail portion 1802 corresponds to a sequence of "set" bits starting at msb of the data word in source 1910. The output of stage 1206 provides a tail 1802 and an encoder select signal for selector 1814. The data word is divided into 8-bit groups,
Starting from the msb, it is coded and selected such that for each group where all bits are "set", the 8-bit offset represented by the outputs SoX and NNX is coded. For an 8-bit group where all bits are not "set", the location of the bit transition relative to the msb of the group is coded and represented by SoX and NNX for the group where the transition occurs. The selector 1814 is operated according to the algorithm and the SoX and NNX inputs and outputs a result corresponding to the bit shift required to normalize the mantissa. The algorithm can be configured to provide a bit shift for any specified normalized code position.

【0127】指数カウント回路のより詳細な説明を以下
に続行する。指数計算1802のテール部分は、エンコ
ーダ1804、及び互いに同様の動作を有する4個の他
のエンコーダ1806、1808、1810と1812
とを有するエンコーダ・レベルを含む。エンコーダ18
04は「4対2」カウンタ1210iの出力とソース・
データ語の8最上位ビットを受取る。エンコーダ180
4はセレクタ1814のビット位置1へ6ビット結果を
出力する。エンコーダ1806、1808、1810と
1812は各々「4対2」カウンタ1210a、121
0c、1210eと1210gの出力を受取る。さら
に、1806はソース・データ語のビット15:8を受
取り、1808はビット7:0、1810はビット3
1:24、1812はビット23:16を受取る。エン
コーダ1806,18108,1810及び1812の
各々はセレクタ1814のビット位置9、7、5及び3
に各々6ビット結果を出力する。
A more detailed description of the exponent counting circuit continues below. The tail portion of the exponent calculation 1802 comprises an encoder 1804 and four other encoders 1806, 1808, 1810 and 1812 having similar operations to each other.
And an encoder level having Encoder 18
04 is the output of the "4 to 2" counter 1210i and the source
Receive the eight most significant bits of the data word. Encoder 180
4 outputs a 6-bit result to bit position 1 of selector 1814. Encoders 1806, 1808, 1810 and 1812 each have a "4 to 2" counter 1210a, 121
Receive the output of 0c, 1210e and 1210g. Further, 1806 receives bits 15: 8 of the source data word, 1808 is bits 7: 0, 1810 is bits 3
1:24, 1812 receive bits 23:16. Each of encoders 1806, 18108, 1810 and 1812 has a bit position 9, 7, 5 and 3
Output a 6-bit result.

【0128】1例としてエンコーダの下半分の真理値表
を示す図19と、以下の式を参照してエンコーダ180
4の動作を以下に説明する。エンコーダ1804の入力
Aはソース1/910から8ビットを受取り、入力Nは
カウンタ1210iの出力から3ビットを受取る。So
はエンコーダ出力である。
FIG. 19 shows a truth table of the lower half of the encoder as an example, and the encoder 180 is referred to by referring to the following equation.
The operation of No. 4 will be described below. Input A of encoder 1804 receives 8 bits from source 1/910, and input N receives 3 bits from the output of counter 1210i. So
Is the encoder output.

【数3】 ここで記号「SoX」はエンコーダ1804の出力中の
ビット位置を表す。
(Equation 3) Here, the symbol “SoX” indicates a bit position in the output of the encoder 1804.

【0129】図20に示すように、1例としてエンコー
ダ1806を参照してエンコーダ1806、1808、
1810及び1812の動作の詳細な説明を以下に与え
る。入力Aはソース910から8ビット、15:8を受
取り、入力Nは「4対2」カウンタ1210aの出力か
ら3ビットを受取る。Soは6ビット・エンコーダ出力
である。1例として図18に下側が図示されている真理
値表と、以下の式に従ってエンコーダは動作する;
As shown in FIG. 20, the encoders 1806, 1808,
A detailed description of the operation of 1810 and 1812 is provided below. Input A receives 8 bits, 15: 8 from source 910, and input N receives 3 bits from the output of "4 to 2" counter 1210a. So is the 6-bit encoder output. The encoder operates according to a truth table, the lower side of which is shown in FIG. 18 as an example, and the following equation:

【数4】 ここで記号「SX」はエンコーダ出力中のビット位置を
識別する。
(Equation 4) Here, the symbol “SX” identifies the bit position in the encoder output.

【0130】セレクタ1814は又、図21で各々NN
0、NN1、NN2、NN3、及びNN4とラベル付け
され、図18の同じ参照に対応している入力8、6、
4、2、0へ4ビット加算器1226a、1226b、
1226c、1226d及び1226eからの入力を受
取る。ビット指数セレクタ1814の機能は以下の論理
式15により表現される。
The selectors 1814 are also shown in FIG.
Inputs 8, 6,, labeled 0, NN1, NN2, NN3, and NN4, and corresponding to the same reference in FIG.
4, 2, 0 to 4-bit adders 1226a, 1226b,
Receive input from 1226c, 1226d and 1226e. The function of the bit exponent selector 1814 is represented by the following logical expression 15.

【数5】 (Equation 5)

【0131】6ビット出力Sは図10のソース1中のデ
ータ語の指数値を与える。
The 6-bit output S gives the exponent value of the data word in source 1 of FIG.

【0132】本発明の望ましい実施例による指数計算の
理解を助けさらに説明するため、指数計算の例を以下に
与える。本例ではソースは図9に図示したソース1であ
り、表10に指示するようにビット位置31にその符号
位置を有する40ビット・データ語である。符号位置は
符号ビット位置、ビット位置31に対して正又は負の方
向にラベル付けしてある。
An example of an index calculation is provided below to aid in understanding and further explain the index calculation according to the preferred embodiment of the present invention. In this example, the source is source 1 shown in FIG. 9 and is a 40-bit data word having its code position at bit position 31 as indicated in Table 10. The code positions are labeled in the positive or negative direction with respect to the code bit position, bit position 31.

【表10】 [Table 10]

【0133】上記表10に図示した例では、1本の厚い
線は正規化仮数の境界とその符号ビット位置の場所を指
示する。1例として、実線の箱はビット27の非正規化
仮数の符号ビットの位置を指示する。この例では、仮数
を正規化するためには符号ビットを左に(msbの方向
に)4ビット位置シフトしなければならない。符号ビッ
トが破線の箱により示されるようにビット位置35にあ
る場合、これはlsb方向に4ビット位置シフトされなけ
ればならない。
In the example shown in Table 10, one thick line indicates the boundary of the normalized mantissa and the location of its sign bit position. As an example, the solid box indicates the position of the sign bit of the denormalized mantissa of bit 27. In this example, in order to normalize the mantissa, the sign bit must be shifted four bits to the left (in the msb direction). If the sign bit is in bit position 35 as indicated by the dashed box, it must be shifted 4 bit positions in the lsb direction.

【0134】ここで図18と図21(図18のセレクタ
1814)を参照すると、4→2カウンタ、加算器、エ
ンコーダ及びセレクタは、以上の表10に示したソース
1のデータ語に対して表11に示すような出力を有す
る。
Referring now to FIGS. 18 and 21 (selector 1814 in FIG. 18), the 4 → 2 counter, adder, encoder and selector correspond to the data words of source 1 shown in Table 10 above. It has an output as shown in FIG.

【表11】 [Table 11]

【0135】以上の説明で、各種の修正が発明の範囲内
で可能であることは当業者には明らかである。例えば、
抽出と展開機能は抽出すべき各ビット位置に対してマル
チプレクサ・ツリーを有することによって実装してもよ
い。しかしながら、これはよりハードウェアを必要と
し、上述した特定の実施例より遅い。
From the above description, it will be apparent to those skilled in the art that various modifications can be made within the scope of the invention. For example,
The extract and expand function may be implemented by having a multiplexer tree for each bit position to be extracted. However, this requires more hardware and is slower than the particular embodiment described above.

【0136】例えば集積回路に組み込んだプロセッサ1
0のような処理エンジンの1つの応用例は電気通信装
置、例えば移動無線電気通信装置である。図22はこの
ような電気通信装置の1例を図示する。図22に図した
特定の例では、電気通信装置は、キーパッド、又はキー
ボード12とディスプレイ14のような統合化ユーザー
・インターフェースを有する移動電話11である。ディ
スプレイは例えば液晶ディスプレイ又はTFTディスプ
レイのような適当な技術を使用して実装可能である。プ
ロセッサ10は、適切な場合にはキーボード・アダプタ
(図示せず)を介してキーパッド12に接続され、適切
な場合にはディスプレイ・アダプタ(図示せず)を介し
てディスプレイ14に接続され、電気通信インターフェ
ース又は送受信器16、例えば無線周波数(RF)回路
を含む無線電気通信インターフェースに接続される。無
線周波数回路は、プロセッサ10を含む集積回路40に
包含するか又は分離される。RF回路16はアンテナ1
8に接続される。
For example, the processor 1 incorporated in an integrated circuit
One application of a processing engine, such as 0, is in a telecommunications device, for example, a mobile wireless telecommunications device. FIG. 22 illustrates an example of such a telecommunications device. In the particular example illustrated in FIG. 22, the telecommunications device is a keypad or mobile telephone 11 having an integrated user interface such as a keyboard 12 and a display 14. The display can be implemented using any suitable technology, for example a liquid crystal display or a TFT display. The processor 10 is connected to the keypad 12 via a keyboard adapter (not shown), where appropriate, and to the display 14 via a display adapter (not shown), where appropriate. A communication interface or transceiver 16 is connected to a wireless telecommunications interface including, for example, radio frequency (RF) circuits. The radio frequency circuit is included in or separated from the integrated circuit 40 that includes the processor 10. The RF circuit 16 is the antenna 1
8 is connected.

【0137】本開示の範囲は、それが特許請求された発
明と関係するしないに係らず、又は本発明により提出さ
れた全ての又は任意の問題を緩和するしないに係らず、
明示的に又は暗示的に開示された新規の特徴又は特徴の
組合せ又はその一般化を含む。
The scope of the present disclosure, whether or not it relates to the claimed invention, or alleviates any or all issues raised by this invention,
It includes a novel feature or combination of features or a generalization thereof disclosed explicitly or implicitly.

【0138】本明細書に使用されるように、用語「適用
する」、「接続する」及び「接続」は、別の要素が電気
的接続路にある場合を含む、電気的な接続を意味する。
As used herein, the terms "apply,""connect," and "connection" refer to an electrical connection, including when another element is in an electrical connection. .

【0139】本発明を図示実施例を参照して説明して来
たが、本説明は限定的な意味で認められる意図のもので
はない。本発明の各種の他の実施例は本説明を参照した
当業者には明らかである。それ故、添付の特許請求の範
囲は、発明の真の範囲と要旨内に該当する実施例の任意
のこのような修正をカバーするものと考えられる。以上
の説明に関して更に以下の項を開示する。 (1)プロセッサを有するディジタル・システムにおい
て、プロセッサは、入力された信号から中間信号を得る
ようにされた第1回路と、前記中間信号を受取り、これ
と、前記中間信号に従って前記入力信号と関係する信号
を操作する別の回路であって、前記入力信号と前記関係
信号から得られた最終信号を与える前記別の回路と、を
含むディジタル・システム。 (2)第1項記載のディジタル・システムにおいて、前
記第1回路は前記入力信号の各部分のデータ属性の発生
回数を決定するように動作可能であるディジタル・シス
テム。 (3)第2項記載のディジタル・システムにおいて、前
記第1回路の第1段は前記入力信号の各部分と各々関係
し、関係部分中の前記データ属性の前記発生回数を表す
出力を与えるディジタル・カウンタを含むディジタル・
システム。 (4)第3項記載のディジタル・システムにおいて、前
記第1段は前記入力信号のビット・カウントを得るため
縮減ツリーの第1段として動作可能であるディジタル・
システム。 (5)第4項記載のディジタル・システムにおいて、前
記第1回路は、縮減ツリーの第2段として動作可能で、
前記入力信号のビット・カウントを得て、かつ前記中間
信号を与える第2段をさらに含むディジタル・システ
ム。 (6)第5項記載のディジタル・システムにおいて、前
記別の回路は、前記第1回路と共に動作可能で、複合ビ
ット・カウンタを形成し、前記中間信号を処理して前記
入力信号のビット・カウントを与えるテール部分回路を
含むディジタル・システム。 (7)第6項記載のディジタル・システムにおいて、前
記テール部分回路は、前記第2段から前記中間信号を受
取るようにされた縮減ツリーとして構成可能であり、前
記中間信号は隣接する前記各部分の各ビット・カウント
を表して、前記ビット・カウントを与えるディジタル・
システム。 (8)第1項記載のディジタル・システムにおいて、前
記別の回路は、前記第1回路と共に動作可能で、複合ビ
ット抽出回路を形成し、前記中間信号を利用して前記入
力信号に従って前記関係信号から抽出したビット列を与
える回路を含むディジタル・システム。 (9)第8項記載のディジタル・システムにおいて、前
記別の回路は、前記関係信号と入力信号を対応する群に
分割し、対応する入力信号群により決定された位置へ関
係信号群中に位置するビットをシフトする装置を含むデ
ィジタル・システム。 (10)第9項記載のディジタル・システムにおいて、
前記別の装置は、前記シフトされたビットを含む前記分
割装置からの信号に対応する信号を受取り、前記中間信
号から得られた制御信号に従って前記信号を操作する装
置を含むディジタル・システム。
Although the present invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various other embodiments of the invention will be apparent to those skilled in the art upon reference to the description. It is therefore contemplated that the appended claims will cover any such modifications of the embodiments that fall within the true scope and spirit of the invention. The following items are further disclosed with respect to the above description. (1) In a digital system having a processor, the processor receives a first circuit adapted to obtain an intermediate signal from an input signal, receives the intermediate signal, and relates the intermediate signal to the input signal according to the intermediate signal. Another circuit for manipulating a signal to generate the input signal and a further circuit for providing a final signal derived from the related signal. 2. The digital system of claim 1, wherein said first circuit is operable to determine a number of occurrences of a data attribute for each portion of said input signal. 3. The digital system of claim 2, wherein a first stage of said first circuit is associated with each portion of said input signal and provides an output indicative of said number of occurrences of said data attribute in said portion.・ Digital including counter
system. 4. The digital system of claim 3, wherein said first stage is operable as a first stage of a reduced tree to obtain a bit count of said input signal.
system. 5. The digital system of claim 4, wherein said first circuit is operable as a second stage of a reduced tree.
A digital system further comprising a second stage for obtaining a bit count of the input signal and providing the intermediate signal. 6. The digital system of claim 5, wherein the another circuit is operable with the first circuit to form a composite bit counter, process the intermediate signal and count bits of the input signal. Digital system including a tail subcircuit that provides 7. The digital system of claim 6, wherein said tail subcircuit is configurable as a reduced tree adapted to receive said intermediate signal from said second stage, said intermediate signal being associated with each of said adjacent portions. Digital counts representing each bit count of
system. 8. The digital system according to claim 1, wherein said another circuit is operable with said first circuit to form a composite bit extraction circuit, and utilizes said intermediate signal to produce said related signal according to said input signal. A digital system including a circuit for providing a bit string extracted from a digital signal. (9) In the digital system according to (8), the another circuit divides the related signal and the input signal into a corresponding group, and positions the related signal and the input signal in the related signal group to a position determined by the corresponding input signal group. Digital system that includes a device for shifting the number of bits to be shifted. (10) In the digital system according to the item (9),
The digital system further includes a device for receiving a signal corresponding to the signal from the splitting device including the shifted bits and manipulating the signal according to a control signal derived from the intermediate signal.

【0140】(11)第10項記載のディジタル・シス
テムにおいて、前記受取り装置は大きな群で前記信号を
操作し、前記制御信号により決定された位置へ前記信号
中に位置するビットをシフトするディジタル・システ
ム。 (12)第1項記載のディジタル・システムにおいて、
前記別の回路は、前記第1回路と共に動作可能で、複合
ビット展開回路を形成し、前記中間信号を利用して前記
入力信号に従って前記関係信号から展開したビット列を
与える回路を含むディジタル・システム。 (13)第12項記載のディジタル・システムにおい
て、前記別の回路は、前記中間信号から得られる制御信
号により決定される少なくとも2つのビット群中のビッ
ト位置に前記関係信号からのビットを分配する装置を含
むディジタル・システム。 (14)第13項記載のディジタル・システムにおい
て、前記別の回路は、前記中間信号から得られる別の制
御信号により決定される小さなビット群中のビット位置
へ前記分配ビットのビットを分配する装置を含むディジ
タル・システム。 (15)第1項記載のディジタル・システムにおいて、
前記別の回路は、前記第1回路と共に動作可能で、複合
指数カウント回路を形成し、前記中間信号を利用して前
記入力信号を正規化するためのシフト値を与えるテール
部分回路を含むディジタル・システム。 (16)第15項記載のディジタル・システムにおい
て、前記テール部分回路は、前記入力信号の各部分を受
取る各処理装置を含み、前記中間信号の各部分から得ら
れる信号により制御可能で前記シフト値を与えるディジ
タル・システム。 (17)第2項記載のディジタル・システムにおいて、
前記別の回路は、前記第1回路と共に動作可能で、複合
ビット抽出回路を形成し、前記中間信号を利用して前記
入力信号に従って前記関係信号から抽出したビット列を
与える回路と、前記第1回路と共に動作可能で、複合ビ
ット展開回路を形成し、前記中間信号を利用して前記入
力信号に従って前記関係信号から展開したビット列を与
える回路と、前記第1回路と共に動作可能で、複合指数
カウント回路を形成し、前記中間信号を利用して前記入
力信号を正規化するためのシフト値を与える回路と、を
含むディジタル・システム。
(11) In a digital system as set forth in claim 10, wherein said receiving device operates said signal in large groups and shifts bits located in said signal to positions determined by said control signal. system. (12) In the digital system according to (1),
A digital system operable with the first circuit to form a composite bit expansion circuit, the another circuit utilizing the intermediate signal to provide a bit string expanded from the relation signal according to the input signal. (13) In the digital system according to (12), the another circuit distributes bits from the relation signal to bit positions in at least two bit groups determined by a control signal obtained from the intermediate signal. A digital system that includes devices. 14. The digital system of claim 13, wherein said another circuit distributes the bits of said distribution bits to bit positions in a small group of bits determined by another control signal derived from said intermediate signal. Digital systems including. (15) In the digital system according to (1),
The other circuit is operable with the first circuit and forms a composite exponent counting circuit, and includes a tail portion circuit that provides a shift value for normalizing the input signal using the intermediate signal. system. 16. The digital system according to claim 15, wherein said tail portion circuit includes a processing device for receiving each portion of said input signal, said tail portion circuit being controllable by a signal obtained from each portion of said intermediate signal, and being provided with said shift value. Digital system that gives (17) In the digital system according to item 2,
A circuit operable with the first circuit to form a composite bit extraction circuit, the circuit providing a bit string extracted from the relation signal according to the input signal using the intermediate signal; A complex bit expansion circuit operable with the first circuit, forming a composite bit expansion circuit, and providing a bit string expanded from the relation signal according to the input signal using the intermediate signal; And a circuit for providing a shift value for normalizing the input signal using the intermediate signal.

【0141】(18)第1項記載のディジタル・システ
ムはセルラ電話であり、キーボード・アダプタを介して
プロセッサに接続された統合キーボードと、ディスプレ
イ・アダプタを介してプロセッサに接続したディスプレ
イと、プロセッサに接続した無線周波数(RF)回路
と、RF回路に接続したアンテナと、を含むディジタル
・システム。 (19)入力信号から中間信号818を得るための第1
ヘッド部分回路804を含む処理エンジン用の実行装置
802である。実行装置は又、中間信号を受取り、これ
を操作して最終信号を発生する別の回路806を含む。
別の回路は第1回路と組合せて1以上の信号処理機能を
実行するように通常構成され、一般的に各機能に別個の
回路を含む。中間信号は別個の回路の各々により使用可
能となるように構成される。
(18) The digital system according to item (1) is a cellular telephone, comprising: an integrated keyboard connected to the processor via a keyboard adapter; a display connected to the processor via a display adapter; A digital system that includes a radio frequency (RF) circuit connected thereto and an antenna connected to the RF circuit. (19) The first method for obtaining the intermediate signal 818 from the input signal
An execution device 802 for a processing engine including a head partial circuit 804. The execution device also includes another circuit 806 that receives the intermediate signal and manipulates it to generate the final signal.
Other circuits are typically configured to perform one or more signal processing functions in combination with the first circuit, and typically include separate circuits for each function. The intermediate signal is configured to be usable by each of the separate circuits.

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

本発明による特定の実施例を、単なる一例として、特に
記述しない限り同じ参照記号を使用して同じ部品を表し
ている添付図面を参照して以下に説明する。
Specific embodiments according to the present invention will now be described, by way of example only, with reference to the accompanying drawings, wherein like reference numerals are used to refer to like parts unless otherwise indicated.

【図1】本発明の実施例によるプロセッサの概略ブロッ
ク線図。
FIG. 1 is a schematic block diagram of a processor according to an embodiment of the present invention.

【図2】図1のコア・プロセッサの主要4要素を図示す
る概略ブロック線図。
FIG. 2 is a schematic block diagram illustrating the four main components of the core processor of FIG. 1;

【図3】図2のコア・プロセッサのP装置、A装置、D
装置を図示する概略ブロック線図。
FIG. 3 shows a P device, an A device, and D of the core processor of FIG. 2;
FIG. 2 is a schematic block diagram illustrating the apparatus.

【図4】図2のコア・プロセッサのI装置の動作を図示
する概略図。
FIG. 4 is a schematic diagram illustrating the operation of the I device of the core processor of FIG. 2;

【図5】図2のコア・プロセッサのパイプライン段の図
式図。
FIG. 5 is a schematic diagram of a pipeline stage of the core processor of FIG. 2;

【図6】図1のプロセッサのパイプライン中のスレッド
の段の図式図。
FIG. 6 is a schematic diagram of a stage of a thread in the pipeline of the processor of FIG. 1;

【図7】図1のプロセッサのパイプラインの動作を説明
するためのプロセッサのコアの概略説明図。
FIG. 7 is a schematic explanatory diagram of a processor core for describing an operation of a pipeline of the processor of FIG. 1;

【図8】図3に図示したD装置シフタのより詳細なブロ
ック線図。
8 is a more detailed block diagram of the D device shifter shown in FIG.

【図9】本発明の実施例によるビット処理回路のブロッ
ク線図。
FIG. 9 is a block diagram of a bit processing circuit according to an embodiment of the present invention.

【図10A】Bit_Field抽出機能の概略図。FIG. 10A is a schematic diagram of a Bit_Field extraction function.

【図10B】Bit_Field展開機能の概略図。FIG. 10B is a schematic diagram of a Bit_Field expansion function.

【図11A】非正規化仮数の概略図。FIG. 11A is a schematic diagram of a denormalized mantissa.

【図11B】正規化仮数の概略図。FIG. 11B is a schematic diagram of a normalized mantissa.

【図12A】本発明の実施例による共通ビット処理回路
とカウント回路のブロック線図。
FIG. 12A is a block diagram of a common bit processing circuit and a count circuit according to an embodiment of the present invention.

【図12B】本発明の実施例による共通ビット処理回路
とカウント回路のブロック線図。
FIG. 12B is a block diagram of a common bit processing circuit and a count circuit according to an embodiment of the present invention.

【図13】本発明の実施例による共通ビット処理回路と
Bit_Field抽出回路のブロック線図。
FIG. 13 shows a common bit processing circuit according to an embodiment of the present invention;
FIG. 3 is a block diagram of a Bit_Field extraction circuit.

【図14】図13のエンコーダとその真理値表の簡略化
図。
14 is a simplified diagram of the encoder of FIG. 13 and its truth table.

【図15】図13の第1及び第2レベル・セレクタの動
作の概略図。
FIG. 15 is a schematic diagram of the operation of the first and second level selectors of FIG. 13;

【図16】本発明の実施例による共通ビット処理回路と
Bit_Field展開回路のブロック線図。
FIG. 16 shows a common bit processing circuit according to an embodiment of the present invention;
FIG. 3 is a block diagram of a Bit_Field expansion circuit.

【図17】図16のエンコーダとその真理値表の簡略化
図。
17 is a simplified diagram of the encoder of FIG. 16 and its truth table.

【図18A】本発明の実施例による共通ビット処理回路
と指数カウント回路のブロック線図。
FIG. 18A is a block diagram of a common bit processing circuit and an exponent count circuit according to an embodiment of the present invention.

【図18B】本発明の実施例による共通ビット処理回路
と指数カウント回路のブロック線図。
FIG. 18B is a block diagram of a common bit processing circuit and an exponent counting circuit according to an embodiment of the present invention.

【図19】図18の第1エンコーダとその真理値表の簡
略化図。
19 is a simplified diagram of the first encoder of FIG. 18 and its truth table.

【図20】図18の第2エンコーダとその真理値表の簡
略化図。
FIG. 20 is a simplified diagram of the second encoder of FIG. 18 and its truth table.

【図21】図18のセレクタのブロック線図。FIG. 21 is a block diagram of the selector of FIG. 18;

【図22】本発明の実施例を含むのに適した無線装置の
概略図。
FIG. 22 is a schematic diagram of a wireless device suitable for including an embodiment of the present invention.

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

10 マイクロプロセッサ 100 処理エンジン 102 処理コア 108 P装置 110 A装置 112 D装置 40 D装置シフタ 802 ビット処理装置 804 指数/カウント装置 806 ビット・フィールド・プロセッサ 808 シフタ 902 ビット・カウンタ 904 指数回路 906 ビット展開回路 908 ビット抽出回路 912 マスク 1002 デスティネーション・レジスタ Reference Signs List 10 microprocessor 100 processing engine 102 processing core 108 P device 110 A device 112 D device 40 D device shifter 802 bit processing device 804 exponent / count device 806 bit field processor 808 shifter 902 bit counter 904 exponent circuit 906 bit expansion circuit 908 bit extraction circuit 912 mask 1002 destination register

フロントページの続き (72)発明者 エマニュエル エゴ フランス国 アンティーブ、ビュー シュ マン ド サン − ジーン、 36、ル マース デ ミコクーリエス エイ1 (72)発明者 マルク コウベラト フランス国 サン ローレンテ デュ ヴ ェー、 アブニュ デ プラトークス フ ルーリス、1697Continued on the front page (72) Inventor Emmanuel Ego Antibes, France, Beauches-Mand-Saint-Jean, 36, Le Mars de Micocoulies Ai 1 (72) Inventor Marc Koubert, France Saint-Laurente-du-Vet, Abnu-de-Plas Talks Fleuris, 1697

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】プロセッサを有するディジタル・システム
において、プロセッサは、 入力された信号から中間信号を得るようにされた第1回
路と、 前記中間信号を受取り、これと、前記中間信号に従って
前記入力信号と関係する信号を操作する別の回路であっ
て、前記入力信号と前記関係信号から得られた最終信号
を与える前記別の回路と、を備えたディジタル・システ
ム。
1. A digital system having a processor, the processor receiving a first circuit adapted to obtain an intermediate signal from an input signal; receiving the intermediate signal; and receiving the input signal in accordance with the intermediate signal. A further circuit for manipulating signals associated with the input signal and the additional circuit for providing a final signal derived from the related signal.
JP2000062616A 1999-03-08 2000-03-07 Bit field processor Pending JP2000284960A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP99400557.7 1999-03-08
EP99400557A EP0992882A3 (en) 1998-10-06 1999-03-08 Bit field processor

Publications (1)

Publication Number Publication Date
JP2000284960A true JP2000284960A (en) 2000-10-13

Family

ID=8241909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000062616A Pending JP2000284960A (en) 1999-03-08 2000-03-07 Bit field processor

Country Status (1)

Country Link
JP (1) JP2000284960A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100340950C (en) * 2001-03-08 2007-10-03 先进微装置公司 Microprocessor employing a performance throttling mechanism for power management
JP2016510461A (en) * 2013-01-23 2016-04-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation COMPUTER PROGRAM, COMPUTER SYSTEM, AND METHOD FOR PROCESSING VECTORELEMENTROTATEANDINSERTUNDERMASK INSTRUCTION

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100340950C (en) * 2001-03-08 2007-10-03 先进微装置公司 Microprocessor employing a performance throttling mechanism for power management
JP2016510461A (en) * 2013-01-23 2016-04-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation COMPUTER PROGRAM, COMPUTER SYSTEM, AND METHOD FOR PROCESSING VECTORELEMENTROTATEANDINSERTUNDERMASK INSTRUCTION

Similar Documents

Publication Publication Date Title
US6009451A (en) Method for generating barrel shifter result flags directly from input data
KR100239029B1 (en) Result normalizer and method of operation
JP2835103B2 (en) Instruction designation method and instruction execution method
EP1004959B1 (en) Processor with pipeline protection
JP5273866B2 (en) Multiplier / accumulator unit
US6480868B2 (en) Conversion from packed floating point data to packed 8-bit integer data in different architectural registers
JP3958662B2 (en) Processor
US7216138B2 (en) Method and apparatus for floating point operations and format conversion operations
US5995122A (en) Method and apparatus for parallel conversion of color values from a single precision floating point format to an integer format
US6502115B2 (en) Conversion between packed floating point data and packed 32-bit integer data in different architectural registers
US20030055860A1 (en) Rounding mechanisms in processors
US6247116B1 (en) Conversion from packed floating point data to packed 16-bit integer data in different architectural registers
US6292815B1 (en) Data conversion between floating point packed format and integer scalar format
US20080313444A1 (en) Microcomputer and dividing circuit
KR19980018072A (en) Single Instruction Multiple Data Processing Using Multiple Banks of Vector Registers
US6826679B1 (en) Processor with pointer tracking to eliminate redundant memory fetches
US20020026570A1 (en) SIMD operation system capable of designating plural registers
US6760837B1 (en) Bit field processor
EP0992896A1 (en) Pipeline protection
KR19980052740A (en) How to perform double precision multiplication in digital signal processor
US6889320B1 (en) Microprocessor with an instruction immediately next to a branch instruction for adding a constant to a program counter
JP2000284960A (en) Bit field processor
EP0992917B1 (en) Linear vector computation
US6499098B1 (en) Processor with instruction qualifiers to control MMU operation
EP0992882A2 (en) Bit field processor