JPH0778725B2 - モジュロ演算装置 - Google Patents
モジュロ演算装置Info
- Publication number
- JPH0778725B2 JPH0778725B2 JP61066998A JP6699886A JPH0778725B2 JP H0778725 B2 JPH0778725 B2 JP H0778725B2 JP 61066998 A JP61066998 A JP 61066998A JP 6699886 A JP6699886 A JP 6699886A JP H0778725 B2 JPH0778725 B2 JP H0778725B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- sum
- output
- bit
- carry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Memory System (AREA)
- Advance Control (AREA)
Description
【発明の詳細な説明】 [産業上の利用分野] 本発明は、一般的にはモジユロ演算に関するものであ
り、更に詳しく云うと任意オフセツトおよびモジユロ値
を有するモジユロ演算を実施するモジユロ演算装置(A
U)に関する。
り、更に詳しく云うと任意オフセツトおよびモジユロ値
を有するモジユロ演算を実施するモジユロ演算装置(A
U)に関する。
[発明の概要] 複数のモジユロのうちの選択された1つにおける2つの
任意値数の和又は差を与えるモジユロ演算装置が提供さ
れている。各モジユラスは上限および下限および中間値
範囲を有する。第1加算器および第2加算器が具えられ
ており、上限又は下限の可能なラツプアラウンドに対し
て補償されない、又は補償される出力をそれぞれ与え
る。第1および第2加算器の選択的中間けた上げ信号の
値に応じてラツプアラウンドが計算中に起きたかどうか
を検出するために制御回路が用いられている。制御回路
に応答して第1および第2加算器の出力のうちの選択さ
れた1つとして正しい出力が与えられる。
任意値数の和又は差を与えるモジユロ演算装置が提供さ
れている。各モジユラスは上限および下限および中間値
範囲を有する。第1加算器および第2加算器が具えられ
ており、上限又は下限の可能なラツプアラウンドに対し
て補償されない、又は補償される出力をそれぞれ与え
る。第1および第2加算器の選択的中間けた上げ信号の
値に応じてラツプアラウンドが計算中に起きたかどうか
を検出するために制御回路が用いられている。制御回路
に応答して第1および第2加算器の出力のうちの選択さ
れた1つとして正しい出力が与えられる。
[従来の技術] 電子回路におけるデータ計算は一般にモジユロ演算によ
つて実施される。抽象的な数学的意味では、“モジユロ
M"演算は基数Mに対する数体系を用いる。但し、その数
体系の各けたは0〜(M−1)の範囲内の所定値によつ
て表わされ、Mは整数である。“(N)モジユロM"の表
現は本質的には基数Mに対するNの“剰余”に等しい。
例えば、表現(12)モジユロ10は2に等しい。(R±
N)モジユロMの計算は、その各々が0〜(M−1)の
範囲内にある数RおよびNについて行われるので、その
結果もまた定められた範囲内の数でなければならない。
もし範囲の下限値Lが零に等しくないならば、算術計算
の結果えられるモジユロ値はもはや厳密な意味では剰余
値に等しくない。その結果は下限値Lによつて0からオ
フセツトされ、モジユロ算術計算は下記に等しくなる。
つて実施される。抽象的な数学的意味では、“モジユロ
M"演算は基数Mに対する数体系を用いる。但し、その数
体系の各けたは0〜(M−1)の範囲内の所定値によつ
て表わされ、Mは整数である。“(N)モジユロM"の表
現は本質的には基数Mに対するNの“剰余”に等しい。
例えば、表現(12)モジユロ10は2に等しい。(R±
N)モジユロMの計算は、その各々が0〜(M−1)の
範囲内にある数RおよびNについて行われるので、その
結果もまた定められた範囲内の数でなければならない。
もし範囲の下限値Lが零に等しくないならば、算術計算
の結果えられるモジユロ値はもはや厳密な意味では剰余
値に等しくない。その結果は下限値Lによつて0からオ
フセツトされ、モジユロ算術計算は下記に等しくなる。
〔(R±N−L)モジユロM〕+L モジユロ演算は普通はアドレス計算を行うために信号処
理およびデータプロセツサに用いられる。アドレス計算
はデータ記憶手段におけるデータにアクセスするために
整数値について行われる。データ記憶手段は線形アドレ
ス指定能力を有する従来のメモリ回路によつて一般に実
施される。線形演算はデータプロセツサに一般に見出さ
れる演算形式であり、一般的には従来の2の補数2進算
術演算によつて実施される。しかし、線形演算は循環バ
ツフア,待ち行列又はFIFO(先入れ先出し方式)のよう
なメモリにおけるデータ構造を直接に実施するものでは
ない。これは線形演算はアドレスを定められた範囲内に
維持するために“ラツプアラウンド(循環)”演算を行
う能力を提供しないからである。これとは対照的に、モ
ジユロ演算はオーバヘツドなしにラツプアラウンド演算
を提供することによつて従来のメモリ回路においてこれ
らの種類のデータ構造を実施する。従つて、これらの有
用なデータ構造を作るためにはモジユロアドレス指定を
用いることが望ましいことがしばしばある。
理およびデータプロセツサに用いられる。アドレス計算
はデータ記憶手段におけるデータにアクセスするために
整数値について行われる。データ記憶手段は線形アドレ
ス指定能力を有する従来のメモリ回路によつて一般に実
施される。線形演算はデータプロセツサに一般に見出さ
れる演算形式であり、一般的には従来の2の補数2進算
術演算によつて実施される。しかし、線形演算は循環バ
ツフア,待ち行列又はFIFO(先入れ先出し方式)のよう
なメモリにおけるデータ構造を直接に実施するものでは
ない。これは線形演算はアドレスを定められた範囲内に
維持するために“ラツプアラウンド(循環)”演算を行
う能力を提供しないからである。これとは対照的に、モ
ジユロ演算はオーバヘツドなしにラツプアラウンド演算
を提供することによつて従来のメモリ回路においてこれ
らの種類のデータ構造を実施する。従つて、これらの有
用なデータ構造を作るためにはモジユロアドレス指定を
用いることが望ましいことがしばしばある。
モジユロアドレス指定は一般的には線形演算を用いるソ
フトウエアで実施される。代表的なマイクロプロセツサ
はモジユロアドレス指定を実施するために線形アドレス
指定を用いる。循環バツフア又は待ち行列はオフセツト
値によつてアドレスポインタを増分させ、連続する各増
分値と第1限界値とを比較する比較器を用いて一般に実
施される。第1限界値に達すると、ラツプアラウンド値
を表わす第2限界値が与えられるので、結果(resultan
t)は所定範囲内にとどまつている。この種類のアドレ
ス指定はまた文献上“循環バツフアアドレス指定",“待
ち行列アドレス指定”および“FIFOアドレス指定”とし
ても知られる。しかし、線形演算を用いるモジユロアド
レス指定の実施は一般にデータアクセスあたり最低4つ
のソフトウエア命令を必要とする。従つてそのようなデ
ータ構造をしばしばアクセスする場合には大量のオーバ
ヘツドが存在する。
フトウエアで実施される。代表的なマイクロプロセツサ
はモジユロアドレス指定を実施するために線形アドレス
指定を用いる。循環バツフア又は待ち行列はオフセツト
値によつてアドレスポインタを増分させ、連続する各増
分値と第1限界値とを比較する比較器を用いて一般に実
施される。第1限界値に達すると、ラツプアラウンド値
を表わす第2限界値が与えられるので、結果(resultan
t)は所定範囲内にとどまつている。この種類のアドレ
ス指定はまた文献上“循環バツフアアドレス指定",“待
ち行列アドレス指定”および“FIFOアドレス指定”とし
ても知られる。しかし、線形演算を用いるモジユロアド
レス指定の実施は一般にデータアクセスあたり最低4つ
のソフトウエア命令を必要とする。従つてそのようなデ
ータ構造をしばしばアクセスする場合には大量のオーバ
ヘツドが存在する。
[発明が解決しようとする課題] 従つて、本発明の目的は任意のオフセツトおよびモジユ
ロ値を有する改良されたモジユロ演算装置(AU)を提供
することである。
ロ値を有する改良されたモジユロ演算装置(AU)を提供
することである。
本発明のもう1つの目的は、任意のオフセツトおよびモ
ジユロ値を有するモジユロ演算を実施し必要とされる回
路量を最小にする改良されたモジユロ演算装置を提供す
ることである。
ジユロ値を有するモジユロ演算を実施し必要とされる回
路量を最小にする改良されたモジユロ演算装置を提供す
ることである。
本発明の更にもう1つの目的は改良された速度特性を有
するモジユロ演算を行う改良されたモジユロ演算装置を
提供することである。
するモジユロ演算を行う改良されたモジユロ演算装置を
提供することである。
[課題を解決するための手段] 本発明のこれらの目的および他の目的を達成するため
に、第1および第2の数の和および差を与えるモジユロ
M演算装置が1つの形で提供されている。第1の数はM
に関連した上限と下限を有する所定範囲内にある数値を
有しなければならない。但し、Mは複数の所定モジユラ
スのうちの選択された1つである。第2の数はモジユラ
スMより小さいか又はMに等しい絶対値を有しなければ
ならない。第1加算器は第1および第2の数を選択的に
受けとり、算術演算制御信号に応答して第2の数を加算
又は減算する。第1加算器はランク付けされた複数の第
1けた上げビツトおよびランク付けされた複数の第1出
力ビツトを与え、第1出力ビツトは出力値表現がモジユ
ラスによつて定められた値の範囲内にあるかどうかには
関係なく第1および第2の数の算術的又は差を表わす。
従つて、第1出力ビツトはモジユラスラツプアラウンド
が起きなかつたと想定した場合の結果を表わす。第1モ
ジユロ制御手段は第1加算器に結合され、第1けた上げ
ビツトおよび複数のモジユラス制御ビツトの両方に応答
して第1けた上げ制御ビツトを与える。選択されたモジ
ユラスMのビツトは復号されてモジユラス制御ビツトを
与える。第2加算器は第1出力ビツトおよびモジユラス
Mのビツトを選択的に受けとり、第2の数の符号および
算術演算制御信号に応答して第1出力ビツトにモジユロ
ビツトを加算するか、又は第1出力ビツトからモジユロ
ビツトを減算する。第2加算器はランク付けされた複数
の第2けた上げビツトおよびランク付けされた複数の第
2出力ビツトを与え、第2出力ビツトはモジユロラツプ
アラウンドが起きたと想定して第1および第2の数の算
術的および差を表わす。第2モジユロ制御手段は第2加
算器に結合され、第2けた上げビツトおよび複数のモジ
ユラス制御ビツトの両方に応答して第2けた上げ制御ビ
ツトを与える。多重化された制御手段が第1および第2
加算器および第1および第2モジユロ制御手段に結合さ
れ、第1および第2けた上げ制御ビツトおよび第2の数
の符号に応答して複数の第1および第2出力ビツトのう
ちの1つを選択的に与える。
に、第1および第2の数の和および差を与えるモジユロ
M演算装置が1つの形で提供されている。第1の数はM
に関連した上限と下限を有する所定範囲内にある数値を
有しなければならない。但し、Mは複数の所定モジユラ
スのうちの選択された1つである。第2の数はモジユラ
スMより小さいか又はMに等しい絶対値を有しなければ
ならない。第1加算器は第1および第2の数を選択的に
受けとり、算術演算制御信号に応答して第2の数を加算
又は減算する。第1加算器はランク付けされた複数の第
1けた上げビツトおよびランク付けされた複数の第1出
力ビツトを与え、第1出力ビツトは出力値表現がモジユ
ラスによつて定められた値の範囲内にあるかどうかには
関係なく第1および第2の数の算術的又は差を表わす。
従つて、第1出力ビツトはモジユラスラツプアラウンド
が起きなかつたと想定した場合の結果を表わす。第1モ
ジユロ制御手段は第1加算器に結合され、第1けた上げ
ビツトおよび複数のモジユラス制御ビツトの両方に応答
して第1けた上げ制御ビツトを与える。選択されたモジ
ユラスMのビツトは復号されてモジユラス制御ビツトを
与える。第2加算器は第1出力ビツトおよびモジユラス
Mのビツトを選択的に受けとり、第2の数の符号および
算術演算制御信号に応答して第1出力ビツトにモジユロ
ビツトを加算するか、又は第1出力ビツトからモジユロ
ビツトを減算する。第2加算器はランク付けされた複数
の第2けた上げビツトおよびランク付けされた複数の第
2出力ビツトを与え、第2出力ビツトはモジユロラツプ
アラウンドが起きたと想定して第1および第2の数の算
術的および差を表わす。第2モジユロ制御手段は第2加
算器に結合され、第2けた上げビツトおよび複数のモジ
ユラス制御ビツトの両方に応答して第2けた上げ制御ビ
ツトを与える。多重化された制御手段が第1および第2
加算器および第1および第2モジユロ制御手段に結合さ
れ、第1および第2けた上げ制御ビツトおよび第2の数
の符号に応答して複数の第1および第2出力ビツトのう
ちの1つを選択的に与える。
従つて、本願発明の構成は以下に示す通りである。即
ち、第1および第2入力数(RとN)の和又は差として
出力数(A)を与え、前記第1入力数および出力数は複
数の所定のモジユラス数のうちの選択された1つに関連
して上限および下限を有する所定範囲内にあり、前記第
2数は選択されたモジユラス数より小さいか又はそのモ
ジユラス数に等しい絶対値を有し、前記和又は差を上限
又は下限に近づくか又は上限又は下限をラツプアラウン
ドするモジユロ演算装置(20)において、 各々正もしくは負の数である第1および第2入力数を選
択的に受信する入力を有していて前記第1および第2入
力数を加算又は減算し、第1和数又は差数およびランク
付けされた複数の第1けた上げ信号のうちの少なくとも
1つの第1けた上げ信号を提供し、前記第1和数は第1
および第2入力数の線形演算和又は差を表わす第1加算
器手段(21)と、 第1和数又は差数および選択されたモジユラス数を選択
的に受信する入力を有していて前記第1和数又は差数か
らモジユラス数を減算するか、又は前記第1和数又は差
数へモジユラス数を加算し、第2和数又は差数およびラ
ンク付けされた複数の第2けた上げ信号のうちの少なく
とも1つの第2けた上げ信号を提供し、前記第2和数又
は差数は第1および第2入力数のモジユロ演算和又は差
を表わす第2加算器手段(23)と、 選択されたモジユラス数を受信し、それに応じて制御信
号を与えるデコーダ手段(27)と、 第1加算器手段(21)および第2加算器手段(23)、お
よびデコーダ手段(27)に結合され、第1および第2け
た上げ信号と制御信号を選択的に受信し、線形演算和又
はモジユロ演算和の内の一方を、出力和(A)として選
択するために、第1および第2入力数の和から生じる上
限のラツプアラウンドを選択的に検出する制御手段(2
5,29,31)と、 を具えることを特徴とするモジユロ演算装置としての構
成を有する。
ち、第1および第2入力数(RとN)の和又は差として
出力数(A)を与え、前記第1入力数および出力数は複
数の所定のモジユラス数のうちの選択された1つに関連
して上限および下限を有する所定範囲内にあり、前記第
2数は選択されたモジユラス数より小さいか又はそのモ
ジユラス数に等しい絶対値を有し、前記和又は差を上限
又は下限に近づくか又は上限又は下限をラツプアラウン
ドするモジユロ演算装置(20)において、 各々正もしくは負の数である第1および第2入力数を選
択的に受信する入力を有していて前記第1および第2入
力数を加算又は減算し、第1和数又は差数およびランク
付けされた複数の第1けた上げ信号のうちの少なくとも
1つの第1けた上げ信号を提供し、前記第1和数は第1
および第2入力数の線形演算和又は差を表わす第1加算
器手段(21)と、 第1和数又は差数および選択されたモジユラス数を選択
的に受信する入力を有していて前記第1和数又は差数か
らモジユラス数を減算するか、又は前記第1和数又は差
数へモジユラス数を加算し、第2和数又は差数およびラ
ンク付けされた複数の第2けた上げ信号のうちの少なく
とも1つの第2けた上げ信号を提供し、前記第2和数又
は差数は第1および第2入力数のモジユロ演算和又は差
を表わす第2加算器手段(23)と、 選択されたモジユラス数を受信し、それに応じて制御信
号を与えるデコーダ手段(27)と、 第1加算器手段(21)および第2加算器手段(23)、お
よびデコーダ手段(27)に結合され、第1および第2け
た上げ信号と制御信号を選択的に受信し、線形演算和又
はモジユロ演算和の内の一方を、出力和(A)として選
択するために、第1および第2入力数の和から生じる上
限のラツプアラウンドを選択的に検出する制御手段(2
5,29,31)と、 を具えることを特徴とするモジユロ演算装置としての構
成を有する。
上記の、およびその他の目的,特徴および利点は、添付
の図面とともに下記の詳細な説明から更に明らかになる
ものと思われる。
の図面とともに下記の詳細な説明から更に明らかになる
ものと思われる。
[実施例] 第1図には数学的計算(R+N)モジユロMを行うため
の技術上知られているモジユロ演算装置10が示されてい
る。加算器11は数Rを受けとるための第1入力および数
Nを受けとるための第2入力を有する。加算器11の和出
力は比較器12の第1入力および出力マルチプレクサ回路
13の第1入力の両方に接続されている。モジユラスMの
所定の上限は比較器12の第2入力に結合され、モジユラ
スMの所定の下限は出力マルチプレクサ13の第2入力に
結合されている。比較器12の出力は出力マルチプレクサ
回路13の制御入力に接続されている。出力マルチプレク
サ回路13の出力は(R+N)モジユロMの値に等しい出
力値Aを与える。
の技術上知られているモジユロ演算装置10が示されてい
る。加算器11は数Rを受けとるための第1入力および数
Nを受けとるための第2入力を有する。加算器11の和出
力は比較器12の第1入力および出力マルチプレクサ回路
13の第1入力の両方に接続されている。モジユラスMの
所定の上限は比較器12の第2入力に結合され、モジユラ
スMの所定の下限は出力マルチプレクサ13の第2入力に
結合されている。比較器12の出力は出力マルチプレクサ
回路13の制御入力に接続されている。出力マルチプレク
サ回路13の出力は(R+N)モジユロMの値に等しい出
力値Aを与える。
動作すると、数Rは入力データ値を表わし、NはRに加
算される更新値を表わすかもしれない。“R′”という
ラベルが付いている加算器11の出力値は、和がモジユラ
スの所定の上限と交差しなかつたら、又はその上限をラ
ツプアラウンドしなかつたら和の正しい値を表わす。従
つて、ラツプアラウンドが起きたかどうかを決定するた
めに、比較器12は和の値と所定の上限とを比較して上限
の交差が起きたかどうかを決定する。電子ハードウエア
の立場からみると、和が許容されたモジユロ範囲内にと
どまつていたかどうかを決定する回路が必要である。比
較器12が和の値がモジユラスの範囲外にあると決定する
と、出力選択回路信号が与えられ、出力マルチプレクサ
回路13にモジユラスの範囲外にある和の値を出力させる
のではなく出力和Aとして下限値を代用させる。
算される更新値を表わすかもしれない。“R′”という
ラベルが付いている加算器11の出力値は、和がモジユラ
スの所定の上限と交差しなかつたら、又はその上限をラ
ツプアラウンドしなかつたら和の正しい値を表わす。従
つて、ラツプアラウンドが起きたかどうかを決定するた
めに、比較器12は和の値と所定の上限とを比較して上限
の交差が起きたかどうかを決定する。電子ハードウエア
の立場からみると、和が許容されたモジユロ範囲内にと
どまつていたかどうかを決定する回路が必要である。比
較器12が和の値がモジユラスの範囲外にあると決定する
と、出力選択回路信号が与えられ、出力マルチプレクサ
回路13にモジユラスの範囲外にある和の値を出力させる
のではなく出力和Aとして下限値を代用させる。
モジユロ演算装置10に伴う短所は、図示されていない複
数の記憶レジスタが上限値および下限値を記憶するのに
必要であるということである。この結果、多数のモジユ
ロ範囲が定められると、大量の追加記憶回路が必要にな
る。更に、モジユロ演算装置10のより重大な短所は、モ
ジユロ演算装置10は1の値だけ増分するよう限定されて
いるということである。換言すると、モジユロ演算装置
10の出力値Aを正しいものとするためには、オフセツト
Nの値を常に1に等しくしなければならない。Nの値に
関するこの制限は、比較器12によつてオーバフローが検
出された場合出力マルチプレクサ回路13は単一の値しか
代用しないかもしれないという事実によつて起きる。モ
ジユロ演算装置におけるオフセツト又は増加量が1の値
に制限されると、モジユロアドレス指定およびその他の
応用の柔軟性が著しく制限される。更に、増分ならびに
減分するために、上限値および下限値がモジユロ演算装
置10に結合される位置を切換えるために追加論理が必要
となる。従つて、モジユロ演算装置10は任意のオフセツ
トおよびモジユロ値を与えることができない。
数の記憶レジスタが上限値および下限値を記憶するのに
必要であるということである。この結果、多数のモジユ
ロ範囲が定められると、大量の追加記憶回路が必要にな
る。更に、モジユロ演算装置10のより重大な短所は、モ
ジユロ演算装置10は1の値だけ増分するよう限定されて
いるということである。換言すると、モジユロ演算装置
10の出力値Aを正しいものとするためには、オフセツト
Nの値を常に1に等しくしなければならない。Nの値に
関するこの制限は、比較器12によつてオーバフローが検
出された場合出力マルチプレクサ回路13は単一の値しか
代用しないかもしれないという事実によつて起きる。モ
ジユロ演算装置におけるオフセツト又は増加量が1の値
に制限されると、モジユロアドレス指定およびその他の
応用の柔軟性が著しく制限される。更に、増分ならびに
減分するために、上限値および下限値がモジユロ演算装
置10に結合される位置を切換えるために追加論理が必要
となる。従つて、モジユロ演算装置10は任意のオフセツ
トおよびモジユロ値を与えることができない。
第2図には演算(R±N)モジユロMを行い、任意のオ
フセツトおよびモジユロ値をもつたモジユロ算術演算を
行うモジユロ演算装置が示されている。nビツト加算器
回路21(但しnは整数)は“R"というラベルが付いてい
る第1入力,“±N"というラベルが付いている第2入
力,“S"というラベルが付いている第1出力,および
“C"というラベルが付いている第2出力を有する。nビ
ツト加算器回路21の第1出力はマルチプレクサ回路22の
第1入力およびnビツト加算器回路23の第1入力の両方
に接続されている。nビツト加算器回路23の第2入力は
モジユラスを表わす“±M"というラベルが付いている2
進数に接続されている。“S"というラベルが付いている
nビツト加算器回路23の第1出力はマルチプレクサ回路
22の第2入力に接続され、nビツト加算器回路23の第2
出力には“C"というラベルが付いている。nビツト加算
器回路21の第2出力はモジユロ/けた上げ制御回路25の
第1入力に接続されている。nビツト加算器回路23の第
2出力はモジユロ/けた上げ制御回路29の第1入力に接
続されている。モジユラスMの2進表示はモジユロデコ
ーダ回路27の入力に接続される。デコーダ回路27の出力
はモジユロ/けた上げ制御回路25の第2入力およびモジ
ユロ/けた上げ制御回路29の第2入力の両方に接続され
ている。“CB1"というラベルが付いているモジユロ/け
た上げ制御回路25の出力は制御論理回路31の第1入力に
接続されている。“CB2"というラベルが付いているモジ
ユロ/けた上げ制御回路29の出力は制御論理回路31の第
2入力に接続されている。“増分/減分”というラベル
が付いている増分/減分制御信号は制御論理回路31の第
3入力に接続され、“正/負”というラベルが付いてい
る正/負制御信号は制御論理回路31の第4入力に接続さ
れる。制御論理回路31の出力はマルチプレクサ回路22の
第3入力に接続されている。マルチプレクサ回路22の出
力は“A"というラベルが付いている結果を与え、これは
(R±N)モジユロMに等しい。
フセツトおよびモジユロ値をもつたモジユロ算術演算を
行うモジユロ演算装置が示されている。nビツト加算器
回路21(但しnは整数)は“R"というラベルが付いてい
る第1入力,“±N"というラベルが付いている第2入
力,“S"というラベルが付いている第1出力,および
“C"というラベルが付いている第2出力を有する。nビ
ツト加算器回路21の第1出力はマルチプレクサ回路22の
第1入力およびnビツト加算器回路23の第1入力の両方
に接続されている。nビツト加算器回路23の第2入力は
モジユラスを表わす“±M"というラベルが付いている2
進数に接続されている。“S"というラベルが付いている
nビツト加算器回路23の第1出力はマルチプレクサ回路
22の第2入力に接続され、nビツト加算器回路23の第2
出力には“C"というラベルが付いている。nビツト加算
器回路21の第2出力はモジユロ/けた上げ制御回路25の
第1入力に接続されている。nビツト加算器回路23の第
2出力はモジユロ/けた上げ制御回路29の第1入力に接
続されている。モジユラスMの2進表示はモジユロデコ
ーダ回路27の入力に接続される。デコーダ回路27の出力
はモジユロ/けた上げ制御回路25の第2入力およびモジ
ユロ/けた上げ制御回路29の第2入力の両方に接続され
ている。“CB1"というラベルが付いているモジユロ/け
た上げ制御回路25の出力は制御論理回路31の第1入力に
接続されている。“CB2"というラベルが付いているモジ
ユロ/けた上げ制御回路29の出力は制御論理回路31の第
2入力に接続されている。“増分/減分”というラベル
が付いている増分/減分制御信号は制御論理回路31の第
3入力に接続され、“正/負”というラベルが付いてい
る正/負制御信号は制御論理回路31の第4入力に接続さ
れる。制御論理回路31の出力はマルチプレクサ回路22の
第3入力に接続されている。マルチプレクサ回路22の出
力は“A"というラベルが付いている結果を与え、これは
(R±N)モジユロMに等しい。
動作すると、モジユロ演算装置20は値(R±N)モジユ
ロMを計算する。但し、R,NおよびMは任意に選択され
た値であり、変えることができる。Nの値に関する唯一
の制約は、Nの絶対値がMよりか小さいか、又はMに等
しくなければならないということだけである。しかし、
この制約は実際的問題としては制限的なものではないこ
とを下記に示す。上述したように、モジユロM演算にお
いては、加算および減算演算は下限から上限まで変化す
る値の一定範囲で行われる。モジユラスは上限と下限の
差に1を加算したものと定義されている。nビツト加算
器回路21は線形演算における(R+N)または(R−
N)の演算値を計算するように機能する。(R+N)ま
たは(R−N)の値が上限又は下限においてラツプアラ
ウンドを起こさないと想定すると、nビツト加算器回路
21によつて与えられる結果はモジユロ演算装置20の適当
な出力値である。nビツト加算器回路23はラツプアラウ
ンドが存在することを想定することによつて機能し、更
にモジユラスを減算又は加算することによつてそれぞれ
〔(R+N)−M〕又は〔(R−N)+M〕の値を計算
する。モジユロ演算装置20の残りの回路は、両方のnビ
ツト加算器回路21および23が発生させた所定の中間けた
上げビツトに基づいて境界のラツプアラウンドが起きた
かどうかを決定しマルチプレクサ回路22の第1および第
2の計算された入力のうちの正しい1つを出力するよう
に機能する。
ロMを計算する。但し、R,NおよびMは任意に選択され
た値であり、変えることができる。Nの値に関する唯一
の制約は、Nの絶対値がMよりか小さいか、又はMに等
しくなければならないということだけである。しかし、
この制約は実際的問題としては制限的なものではないこ
とを下記に示す。上述したように、モジユロM演算にお
いては、加算および減算演算は下限から上限まで変化す
る値の一定範囲で行われる。モジユラスは上限と下限の
差に1を加算したものと定義されている。nビツト加算
器回路21は線形演算における(R+N)または(R−
N)の演算値を計算するように機能する。(R+N)ま
たは(R−N)の値が上限又は下限においてラツプアラ
ウンドを起こさないと想定すると、nビツト加算器回路
21によつて与えられる結果はモジユロ演算装置20の適当
な出力値である。nビツト加算器回路23はラツプアラウ
ンドが存在することを想定することによつて機能し、更
にモジユラスを減算又は加算することによつてそれぞれ
〔(R+N)−M〕又は〔(R−N)+M〕の値を計算
する。モジユロ演算装置20の残りの回路は、両方のnビ
ツト加算器回路21および23が発生させた所定の中間けた
上げビツトに基づいて境界のラツプアラウンドが起きた
かどうかを決定しマルチプレクサ回路22の第1および第
2の計算された入力のうちの正しい1つを出力するよう
に機能する。
図示された形では、所定のモジユロはモジユロ範囲の下
限の許容しうる値に対して制限を加える。モジユロ範囲
の下限はkLSBsにおいてすべて零を有しなければならず
(但しkは整数)、2kはモジユラスMより大きいか、又
はMに等しくなければならない。従つて、下限はX2 kに
等しくなければならない(但しXは負でない整数であ
る)。下限が零でないと、下限の2kLSBsは零に等しく、
上限の2kLSBsは(M−1)に等しい。nビツト数の残り
のMSBsは任意であり、各所定モジユロ値Mに対して複数
のモジユロ範囲を与える。下限に2のベキの倍数である
値をもたせることによつて、境界がいつ交差されるかの
決定は最下位けた上げビツトを復号することによつて容
易に下すことができる。本発明は2進化10進数(BCD)
などのような非2進演算を用いて実施してもよいという
ことが明らかになるはずである。非2進演算応用では、
上記の2のベキの倍数と定義された下限の基数(base)
はそれに応じて変化する。各下限に対する既知の値を用
いると、各計算値と記憶された下限値との追加の比較は
避けられる。従つて、任意のオフセツトおよびモジユロ
値によるモジユロ演算は上限値および下限値のための記
憶手段を必要としないで行うことができる。
限の許容しうる値に対して制限を加える。モジユロ範囲
の下限はkLSBsにおいてすべて零を有しなければならず
(但しkは整数)、2kはモジユラスMより大きいか、又
はMに等しくなければならない。従つて、下限はX2 kに
等しくなければならない(但しXは負でない整数であ
る)。下限が零でないと、下限の2kLSBsは零に等しく、
上限の2kLSBsは(M−1)に等しい。nビツト数の残り
のMSBsは任意であり、各所定モジユロ値Mに対して複数
のモジユロ範囲を与える。下限に2のベキの倍数である
値をもたせることによつて、境界がいつ交差されるかの
決定は最下位けた上げビツトを復号することによつて容
易に下すことができる。本発明は2進化10進数(BCD)
などのような非2進演算を用いて実施してもよいという
ことが明らかになるはずである。非2進演算応用では、
上記の2のベキの倍数と定義された下限の基数(base)
はそれに応じて変化する。各下限に対する既知の値を用
いると、各計算値と記憶された下限値との追加の比較は
避けられる。従つて、任意のオフセツトおよびモジユロ
値によるモジユロ演算は上限値および下限値のための記
憶手段を必要としないで行うことができる。
定められた下限値の結果として、nビツト加算器回路21
および23によつて与えられた2つの出力のうちの正しい
出力Aの選択の簡単な1組の原則に従う。数Nが正のN
だけ増分しつつある場合には、加算器21からの出力(R
+N)のkLSBsが正の方向にオーバフローせず、nビツ
ト加算器回路23からの出力(R+N−M)のkLSBsが負
の方向にオーバフローすると上限のラツプアラウンドは
起きない。nビツト加算器回路21からの出力(R+N)
のkLSBsが正の方向にオーバフローするか、又は加算器2
3からの出力(R+N−M)のkLSBsが負の方向にアンダ
フローしないと、上限のラツプアラウンドが起きる。こ
の状態の決定はnビツト加算器回路21および23のkLSBs
のけた上げビツトを調べることによつて容易に下すこと
ができる。数Rが負のNだけ減分されつつある場合に
も、同じ原則が上限のラツプアラウンドにも適用する。
および23によつて与えられた2つの出力のうちの正しい
出力Aの選択の簡単な1組の原則に従う。数Nが正のN
だけ増分しつつある場合には、加算器21からの出力(R
+N)のkLSBsが正の方向にオーバフローせず、nビツ
ト加算器回路23からの出力(R+N−M)のkLSBsが負
の方向にオーバフローすると上限のラツプアラウンドは
起きない。nビツト加算器回路21からの出力(R+N)
のkLSBsが正の方向にオーバフローするか、又は加算器2
3からの出力(R+N−M)のkLSBsが負の方向にアンダ
フローしないと、上限のラツプアラウンドが起きる。こ
の状態の決定はnビツト加算器回路21および23のkLSBs
のけた上げビツトを調べることによつて容易に下すこと
ができる。数Rが負のNだけ減分されつつある場合に
も、同じ原則が上限のラツプアラウンドにも適用する。
同様に、数Rが正のNだけ減分されつつある場合には、
nビツト加算器回路21からの出力(R−N)のkLSBsが
負の方向にオーバフローしなければ下限のラツプアラウ
ンドは起きない。加算器21からの出力(R−N)のkLSB
sが負の方向にオーバフローすると下限のラツプアラウ
ンドが起きる。数Rの負のNだけ増分されつつある場合
にも同じ原則が下限のラツプアラウンドについて適用す
る。下限のラツプアラウンドを検出するには加算器のけ
た上げ出力(carry−out)ビツトは不必要であるという
点に注目すべきである。正方向のオーバフローはけた上
げ出力ビツトの存在によつて検出されるかもしれず、負
方向のオーバフローは借りを示すけた上げ出力ビツトの
存在しないことによつて検出されるかもしれない。
nビツト加算器回路21からの出力(R−N)のkLSBsが
負の方向にオーバフローしなければ下限のラツプアラウ
ンドは起きない。加算器21からの出力(R−N)のkLSB
sが負の方向にオーバフローすると下限のラツプアラウ
ンドが起きる。数Rの負のNだけ増分されつつある場合
にも同じ原則が下限のラツプアラウンドについて適用す
る。下限のラツプアラウンドを検出するには加算器のけ
た上げ出力(carry−out)ビツトは不必要であるという
点に注目すべきである。正方向のオーバフローはけた上
げ出力ビツトの存在によつて検出されるかもしれず、負
方向のオーバフローは借りを示すけた上げ出力ビツトの
存在しないことによつて検出されるかもしれない。
第3図には本発明の原理を更に示すため第2図のモジユ
ロ演算装置20の特定の4ビツト実施が示されている。本
発明は第3図の点によつて示されているように任意のビ
ツトサイズを表わす任意の数の全加算器回路を用いて実
施することができる。しかし、図解のため代表的な数の
モジユロを4つの全加算器に関連して説明する。nビツ
ト加算器回路21は4つのランクづけされた全加算器回路
40,41,42および43を含む。全加算器40は加算器21の最下
位加算器回路である。増分/減分制御信号INC/DECは全
加算器回路40のけた上げ入力端子および複数の排他的オ
アゲート46,47,48および49の各第1入力に結合される。
R0,R1,R2およびR3というラベルが付いている入力数Rの
4つの最下位ビツトのうちの所定の1つが全加算器回路
40,41,42および43の“A"というラベルが付いている第1
入力にそれぞれ接続される。ビツトR0は入力数Rの最下
位ビツトである。N0,N1,N2およびN3というラベルが付い
ている入力オフセツト数の4つのビツトのうちの所定の
1つが排他的オアゲート46,47,48および49の第2入力に
接続される。ビツトN0は入力数Nの最下位ビツトであ
る。排他的オアゲート46,47,48および49の各々の所定の
出力は全加算器回路40,41,42および43の“B"というラベ
ルが付いている第2入力に接続されている。排他的オア
ゲート49の出力はINC/DE制御信号と排他的オア結合して
いる数N,N3の符号ビツトであり、“S"というラベルが付
けられている。信号Sは上限値が近づきつつあるか又は
下限値が近づきつつあるかを示す。
ロ演算装置20の特定の4ビツト実施が示されている。本
発明は第3図の点によつて示されているように任意のビ
ツトサイズを表わす任意の数の全加算器回路を用いて実
施することができる。しかし、図解のため代表的な数の
モジユロを4つの全加算器に関連して説明する。nビツ
ト加算器回路21は4つのランクづけされた全加算器回路
40,41,42および43を含む。全加算器40は加算器21の最下
位加算器回路である。増分/減分制御信号INC/DECは全
加算器回路40のけた上げ入力端子および複数の排他的オ
アゲート46,47,48および49の各第1入力に結合される。
R0,R1,R2およびR3というラベルが付いている入力数Rの
4つの最下位ビツトのうちの所定の1つが全加算器回路
40,41,42および43の“A"というラベルが付いている第1
入力にそれぞれ接続される。ビツトR0は入力数Rの最下
位ビツトである。N0,N1,N2およびN3というラベルが付い
ている入力オフセツト数の4つのビツトのうちの所定の
1つが排他的オアゲート46,47,48および49の第2入力に
接続される。ビツトN0は入力数Nの最下位ビツトであ
る。排他的オアゲート46,47,48および49の各々の所定の
出力は全加算器回路40,41,42および43の“B"というラベ
ルが付いている第2入力に接続されている。排他的オア
ゲート49の出力はINC/DE制御信号と排他的オア結合して
いる数N,N3の符号ビツトであり、“S"というラベルが付
けられている。信号Sは上限値が近づきつつあるか又は
下限値が近づきつつあるかを示す。
モジユロ/けた上げ制御回路25の部分はアンドゲート5
1,52,53および54およびオアゲート56を含む。“C01"と
いうラベルが付いている全加算器40のけた上げ出力は全
加算器回路41のけた上げ入力およびモジユロけた上げ制
御回路25のアンドゲート51の第1入力の両方に接続され
ている。“C11"というラベルが付いている全加算器回路
41のけた上げ出力は全加算器回路42のけた上げ入力およ
びアンドゲート52の第1入力の両方に接続されている。
“C21"というラベルが付いている全加算器回路42のけた
上げ出力は全加算器回路42のけた上げ入力およびアンド
ゲート53の第1入力の両方に接続されている。“C31"と
いうラベルが付いている全加算器回路43のけた上げ出力
はアンドゲート54の第1入力に接続されている。K0,K1,
K2およびK3というラベルが付いている複数の符号化制御
信号のうちの所定の1つはアンドゲート51,52,53および
54の第2入力にそれぞれ接続される。アンドゲート51,5
2,53および54の各々は出力をオアゲート56の複数の入力
のうちの所定の1つに接続されている。アンドゲート5
1,52,53,54,およびオアゲート56は一般に第2図のモジ
ユロ/けた上げ制御回路25を構成している。オアゲート
56は“CB1"というラベルが付いている出力制御信号を与
え、この信号は制御論理回路31のオアゲート60の第1入
力およびマルチプレクサ回路61の“B"というラベルが付
いている第1入力の両方に接続される。
1,52,53および54およびオアゲート56を含む。“C01"と
いうラベルが付いている全加算器40のけた上げ出力は全
加算器回路41のけた上げ入力およびモジユロけた上げ制
御回路25のアンドゲート51の第1入力の両方に接続され
ている。“C11"というラベルが付いている全加算器回路
41のけた上げ出力は全加算器回路42のけた上げ入力およ
びアンドゲート52の第1入力の両方に接続されている。
“C21"というラベルが付いている全加算器回路42のけた
上げ出力は全加算器回路42のけた上げ入力およびアンド
ゲート53の第1入力の両方に接続されている。“C31"と
いうラベルが付いている全加算器回路43のけた上げ出力
はアンドゲート54の第1入力に接続されている。K0,K1,
K2およびK3というラベルが付いている複数の符号化制御
信号のうちの所定の1つはアンドゲート51,52,53および
54の第2入力にそれぞれ接続される。アンドゲート51,5
2,53および54の各々は出力をオアゲート56の複数の入力
のうちの所定の1つに接続されている。アンドゲート5
1,52,53,54,およびオアゲート56は一般に第2図のモジ
ユロ/けた上げ制御回路25を構成している。オアゲート
56は“CB1"というラベルが付いている出力制御信号を与
え、この信号は制御論理回路31のオアゲート60の第1入
力およびマルチプレクサ回路61の“B"というラベルが付
いている第1入力の両方に接続される。
nビツト加算器回路23は4つの全加算器回路65,66,67お
よび68を含む。全加算器回路65はnビツト加算器回路23
の最下位加算器回路である。符号ビツトSはインバータ
回路70の入力および全加算器回路65のけた上げ入力に接
続される。インバータ回路70の出力は複数の排他的アオ
ゲート72,73,74および75の第1入力に接続されている。
排他的オアゲート72,73,74および75の各々は第2入力を
モジユラスビツトM0,M1,M2およびM3のそれぞれの1つに
接続される。ビツトM0は入力数Mの最下位ビツトであ
る。全加算器回路65第1入力は“R′0"というラベルが
付いている全加算器回路40の出力に接続され、全加算器
回路65の第2入力は排他的オアゲート72の出力に接続さ
れている。全加算器回路66の第1入力は“R′1"という
ラベルが付いている全加算器回路41の出力に接続され、
全加算器回路66の第2入力は排他的オアゲート73の出力
に接続されている。全加算器回路67の第1入力は、
“R′2"というラベルが付いている全加算器回路42の出
力に接続され、全加算器回路67の第2入力は排他的オア
ゲート74の出力に接続されている。全加算器回路68の第
1入力は“R′3"というラベルが付いている全加算器回
路43の出力に接続され、全加算器回路68の第2入力は排
他的オアゲート75の出力に接続されている。“C02"とい
うラベルが付いている全加算器回路65のけた上げ出力は
全加算器回路66のけた上げ入力およびアンドゲート81の
第1入力の両方に接続されている。“C12"というラベル
が付いている全加算器回路66のけた上げ出力は全加算器
回路67のけた上げ入力およびアンドゲート82の第1入力
の両方に接続されている。“C22"というラベルが付いて
いる全加算器回路67のけた上げ出力は全加算器回路68の
けた上げ入力およびアンドゲート83の第1入力の両方に
接続されている。“C32"というラベルが付いている全加
算器回路68のけた上げ出力はアンドゲート84の第1入力
に接続されている。アンドゲート81,82,83および84の各
々は第2入力を複数の符号化制御信号K0,K1,K2およびK3
のれぞれの1つに結合させている。アンドゲート81,82,
83および84の各々は出力をオアゲート85のそれぞれの入
力に接続されている。アンドゲート81〜84およびアオゲ
ート85は一般に第2図のモジユロ制御回路を構成する。
アオゲート85の出力は“CB2"というラベルが付いている
けた上げ制御信号を与え、ノアゲート60の第2入力に接
続されている。ノアゲート60の出力は“A"というラベル
が付いているマルチプレクサ回路61の第2入力に接続さ
れている。
よび68を含む。全加算器回路65はnビツト加算器回路23
の最下位加算器回路である。符号ビツトSはインバータ
回路70の入力および全加算器回路65のけた上げ入力に接
続される。インバータ回路70の出力は複数の排他的アオ
ゲート72,73,74および75の第1入力に接続されている。
排他的オアゲート72,73,74および75の各々は第2入力を
モジユラスビツトM0,M1,M2およびM3のそれぞれの1つに
接続される。ビツトM0は入力数Mの最下位ビツトであ
る。全加算器回路65第1入力は“R′0"というラベルが
付いている全加算器回路40の出力に接続され、全加算器
回路65の第2入力は排他的オアゲート72の出力に接続さ
れている。全加算器回路66の第1入力は“R′1"という
ラベルが付いている全加算器回路41の出力に接続され、
全加算器回路66の第2入力は排他的オアゲート73の出力
に接続されている。全加算器回路67の第1入力は、
“R′2"というラベルが付いている全加算器回路42の出
力に接続され、全加算器回路67の第2入力は排他的オア
ゲート74の出力に接続されている。全加算器回路68の第
1入力は“R′3"というラベルが付いている全加算器回
路43の出力に接続され、全加算器回路68の第2入力は排
他的オアゲート75の出力に接続されている。“C02"とい
うラベルが付いている全加算器回路65のけた上げ出力は
全加算器回路66のけた上げ入力およびアンドゲート81の
第1入力の両方に接続されている。“C12"というラベル
が付いている全加算器回路66のけた上げ出力は全加算器
回路67のけた上げ入力およびアンドゲート82の第1入力
の両方に接続されている。“C22"というラベルが付いて
いる全加算器回路67のけた上げ出力は全加算器回路68の
けた上げ入力およびアンドゲート83の第1入力の両方に
接続されている。“C32"というラベルが付いている全加
算器回路68のけた上げ出力はアンドゲート84の第1入力
に接続されている。アンドゲート81,82,83および84の各
々は第2入力を複数の符号化制御信号K0,K1,K2およびK3
のれぞれの1つに結合させている。アンドゲート81,82,
83および84の各々は出力をオアゲート85のそれぞれの入
力に接続されている。アンドゲート81〜84およびアオゲ
ート85は一般に第2図のモジユロ制御回路を構成する。
アオゲート85の出力は“CB2"というラベルが付いている
けた上げ制御信号を与え、ノアゲート60の第2入力に接
続されている。ノアゲート60の出力は“A"というラベル
が付いているマルチプレクサ回路61の第2入力に接続さ
れている。
マルチプレクサ回路22は一般に複数のランク付けされた
マルチプレクサ87,88,89および90を含む。全加算器回路
65,66,67および68の各出力はマルチプレクサ87,88,89お
よび90の所定の第1入力にそれぞれ接続されている。全
加算器回路40,41,42および43の各出力はマルチプレクサ
87,88,89および90の所定の第2入力にそれぞれ接続され
ている。マルチプレクサ回路61は出力信号を与え、その
信号はマルチプレクサ87,88,89および90の各々の第3入
力に接続される。マルチプレクサ87,88,89および90の各
々の出力はA0,A1,A2およびA3というラベルが付いている
出力Aの所定のビツトを与える。図示されているよう
に、ビツトA0は出力数Aの最下位ビツトである。
マルチプレクサ87,88,89および90を含む。全加算器回路
65,66,67および68の各出力はマルチプレクサ87,88,89お
よび90の所定の第1入力にそれぞれ接続されている。全
加算器回路40,41,42および43の各出力はマルチプレクサ
87,88,89および90の所定の第2入力にそれぞれ接続され
ている。マルチプレクサ回路61は出力信号を与え、その
信号はマルチプレクサ87,88,89および90の各々の第3入
力に接続される。マルチプレクサ87,88,89および90の各
々の出力はA0,A1,A2およびA3というラベルが付いている
出力Aの所定のビツトを与える。図示されているよう
に、ビツトA0は出力数Aの最下位ビツトである。
動作すると、全加算器回路40〜43は数Nの符号および増
分/減分制御信号の値の両方に応じて数値和(R+N)
又は数値差(R−N)となる出力R′を計算するように
機能する。増分/減分制御信号が論理零値を有すると、
増分関数(function)がプログラムされ、増分/減分制
御信号が論理1値を有すると、減分関数がプログラムさ
れる。図示するため、増分が最初に増分/減分制御信号
によつてプログラムされるものとする。符号ビツトSが
論理零であると、全加算器回路40〜43の出力は合計値と
なる。結果として生じた和の各ビツトは直ちにマルチプ
レクサ回路22に結合される。同時に、全加算器回路40〜
43によつて計算された和は、“W"というラベルが付いて
いる出力和を計算する全加算器回路65〜68のA入力に結
合される。W和出力はモジユロ値によつてオフセツトさ
れたR′和を表わす。同時に、全加算器回路40〜43が発
生させたランク付けされた複数の中間けた上げビツトの
各々はアンドゲート51〜54のそれぞれの1つの入力に結
合される。
分/減分制御信号の値の両方に応じて数値和(R+N)
又は数値差(R−N)となる出力R′を計算するように
機能する。増分/減分制御信号が論理零値を有すると、
増分関数(function)がプログラムされ、増分/減分制
御信号が論理1値を有すると、減分関数がプログラムさ
れる。図示するため、増分が最初に増分/減分制御信号
によつてプログラムされるものとする。符号ビツトSが
論理零であると、全加算器回路40〜43の出力は合計値と
なる。結果として生じた和の各ビツトは直ちにマルチプ
レクサ回路22に結合される。同時に、全加算器回路40〜
43によつて計算された和は、“W"というラベルが付いて
いる出力和を計算する全加算器回路65〜68のA入力に結
合される。W和出力はモジユロ値によつてオフセツトさ
れたR′和を表わす。同時に、全加算器回路40〜43が発
生させたランク付けされた複数の中間けた上げビツトの
各々はアンドゲート51〜54のそれぞれの1つの入力に結
合される。
第4図にはモジユロ/けた上げ制御回路25および29に結
合されるランク付けされた複数のモジユロ制御信号K0〜
K3を与えるモジユロデコーダ27の多数の可能な実施例の
1つが示されている。モジユロビツトM0〜M3が与えら
れ、下記に述べるように選択されたモジユロから1を差
引いた値を定める。インバータ回路91は入力をモジユロ
ビツトM0に接続され、出力をノアゲート92の第1入力に
接続させている。ノアゲート92は第2入力をモジユロビ
ツトM1に接続され、第3入力をモジユロビツトM2に接続
させ、第4入力をモジユロビツトM3に接続させている。
ノアゲート92の出力は制御信号ビツトK0を与える。イン
バータ回路93の入力はモジユロビツトM1に接続され、イ
ンバータ回路93の出力はノアゲート94の第1入力に接続
されている。ノアゲート94の第2入力はモジユロビツト
M2に接続され、ノアゲート94の第2入力はモジユロビツ
トM3に接続されている。ノアゲート94の出力は制御信号
ビツトK1を与える。インバータ回路95は入力をモジユロ
ビツトM2に接続させ、出力をノアゲート96の第1入力に
接続させている。ノアゲート96の第2入力はモジユロビ
ツトM3に接続され、ノアゲート96の出力は制御信号ビツ
トK2を与える。制御信号ビツトK3はモジユロビツトM3と
全く同一のものとして与えられる。
合されるランク付けされた複数のモジユロ制御信号K0〜
K3を与えるモジユロデコーダ27の多数の可能な実施例の
1つが示されている。モジユロビツトM0〜M3が与えら
れ、下記に述べるように選択されたモジユロから1を差
引いた値を定める。インバータ回路91は入力をモジユロ
ビツトM0に接続され、出力をノアゲート92の第1入力に
接続させている。ノアゲート92は第2入力をモジユロビ
ツトM1に接続され、第3入力をモジユロビツトM2に接続
させ、第4入力をモジユロビツトM3に接続させている。
ノアゲート92の出力は制御信号ビツトK0を与える。イン
バータ回路93の入力はモジユロビツトM1に接続され、イ
ンバータ回路93の出力はノアゲート94の第1入力に接続
されている。ノアゲート94の第2入力はモジユロビツト
M2に接続され、ノアゲート94の第2入力はモジユロビツ
トM3に接続されている。ノアゲート94の出力は制御信号
ビツトK1を与える。インバータ回路95は入力をモジユロ
ビツトM2に接続させ、出力をノアゲート96の第1入力に
接続させている。ノアゲート96の第2入力はモジユロビ
ツトM3に接続され、ノアゲート96の出力は制御信号ビツ
トK2を与える。制御信号ビツトK3はモジユロビツトM3と
全く同一のものとして与えられる。
動作すると、モジユロ制御信号K0〜K3は、nビツト加算
器回路21および23の各々のどの中間けた上げビツトがラ
ツプアラウンド状態を決定するために調べられるかとい
うことを本質的に制御する制御信号である。ラツプアラ
ウンド検出のために中間けた上げビツトを用いること
は、下限が零か、又は所定の基数(base)を有する数の
整数倍であるとを要求することによつて可能となる。
器回路21および23の各々のどの中間けた上げビツトがラ
ツプアラウンド状態を決定するために調べられるかとい
うことを本質的に制御する制御信号である。ラツプアラ
ウンド検出のために中間けた上げビツトを用いること
は、下限が零か、又は所定の基数(base)を有する数の
整数倍であるとを要求することによつて可能となる。
モジユロデコーダ回路27を実施する場合に、選択された
モジユロを定めるモジユロ入力ビツトがモジユロから1
を差引いた値を実際に定めるならば制御論理は最小とな
る。従つて、ランク付けされたビツトM0〜M3は2進法で
(M−1)を定める。この値はモジユラスにおける最高
数値とモジユロ値との間の正確に1の差によつて復号を
簡単にする。付属書類1の第1表を参照すると、最高で
モジユロ16までの応用に対するモジユロデコーダ回路27
を実施するための真理値表が示されている。特定のモジ
ユラスが第1表には示されているが、本発明は任意のモ
ジユラスサイズとともに用いうることが容易に理解され
るはずである。Mx+1のビツトによつて定めれる特定の
モジユラスに対応する2進法でランク付けされたけた上
げビツトC0〜C3が示されている。但し、Mxはk最下位モ
ジユロビツトM0,M1などを表わす。例えば、モジユロ入
力制御ワードビツトM0〜M3が論理1値を有する最高位ビ
ツトがM1であるワードを構成する場合には、使用可能な
モジユロ値はビツトM0の値に応じて3および4である。
同様に、モジユロ入力制御ワードビツトM0〜M3が2進1
値を有する最高位ビツトがM2であるワードを構成する場
合には、可能なモジユロ値は5,6,7および8である。こ
れはM0,M1,M2およびM3の2進ビツト位置がそれぞれ1,2,
4および8であるからである。例えばビツトM3,M2,M1お
よびM0がそれぞれ0011であると、選択されるモジユラス
は(3+1)又は4である。モジユラスが4であると、
加算器21のけた上げビツトC11およびnビツト加算器回
路23のけた上げビツトC12はそれぞれモジユロ/けた上
げ制御回路25および29によつて選択される。制御ビツト
Sと組合せられてC11およびC12は制御論理回路31によつ
て複写され、出力マルチプレクサ回路22を介して正しい
出力を選択する選択制御信号を与える。
モジユロを定めるモジユロ入力ビツトがモジユロから1
を差引いた値を実際に定めるならば制御論理は最小とな
る。従つて、ランク付けされたビツトM0〜M3は2進法で
(M−1)を定める。この値はモジユラスにおける最高
数値とモジユロ値との間の正確に1の差によつて復号を
簡単にする。付属書類1の第1表を参照すると、最高で
モジユロ16までの応用に対するモジユロデコーダ回路27
を実施するための真理値表が示されている。特定のモジ
ユラスが第1表には示されているが、本発明は任意のモ
ジユラスサイズとともに用いうることが容易に理解され
るはずである。Mx+1のビツトによつて定めれる特定の
モジユラスに対応する2進法でランク付けされたけた上
げビツトC0〜C3が示されている。但し、Mxはk最下位モ
ジユロビツトM0,M1などを表わす。例えば、モジユロ入
力制御ワードビツトM0〜M3が論理1値を有する最高位ビ
ツトがM1であるワードを構成する場合には、使用可能な
モジユロ値はビツトM0の値に応じて3および4である。
同様に、モジユロ入力制御ワードビツトM0〜M3が2進1
値を有する最高位ビツトがM2であるワードを構成する場
合には、可能なモジユロ値は5,6,7および8である。こ
れはM0,M1,M2およびM3の2進ビツト位置がそれぞれ1,2,
4および8であるからである。例えばビツトM3,M2,M1お
よびM0がそれぞれ0011であると、選択されるモジユラス
は(3+1)又は4である。モジユラスが4であると、
加算器21のけた上げビツトC11およびnビツト加算器回
路23のけた上げビツトC12はそれぞれモジユロ/けた上
げ制御回路25および29によつて選択される。制御ビツト
Sと組合せられてC11およびC12は制御論理回路31によつ
て複写され、出力マルチプレクサ回路22を介して正しい
出力を選択する選択制御信号を与える。
制御論理回路31は付属書類1の第2表の真理値表によつ
て選択制御信号出力を与える。S制御信号が論理零であ
る場合には、加算器回路21はモジユロ範囲の上限に近づ
きつつある。けた上げ制御ビツトCB1とCB2の両方が論理
零である場には、上限のラツプアラウンドは起きない。
けた上げ制御ビツトCB1およびCB2の両方を調べる必要が
ある理由は2つあり、第1表を参照すると更によく理解
されるかもしれない。nビツト加算器回路21と23の両方
の高位けた上げビツトは多数のモジユラスを表わす。こ
のことは、可能な値の範囲は選択される実際のモジユロ
の範囲より広いかもしれないことを意味する。例えばけ
た上げビツトC21に関していうと、モジユロ5が選択さ
れ結果として生じる和が6であると、ラツプアラウンド
が起きたことを示すためにC21に対するけた上げ出力ビ
ツトは発生しない。従つて、ラツプアラウンドが起きた
としても、けた上げ制御ビツトCB1は零である。しか
し、5のモジユラスサイズがnビツト加算器回路23によ
つて6から減算されその結果が負の方向にオーバフロー
しないと、けた上げ制御ビツトC22は論理1であり、上
限のラツプアウランドが起きたことを示す。加算器23に
おいてモジユラス値を減算する場合には、けた上げは借
りの逆であり1の中間けた上げ値は上限のkLSBsによる
ラツプアラウンドが起きたことを示すということを忘れ
てはならない。要約すると、ビツトSによつて示される
ように加算の期間中にけた上げ制御ビツトCB1又はCB2の
いずれかが論理1値を有すると、ラツプアラウンド状態
が存在し、マルチプレクサ回路61は選択信号をマルチプ
レクサ回路22へ与え、マルチプレクサ回路22が正しい出
力Aとしてnビツト加算器回路23のWラツプアラウンド
出力を与えるようにさせる。
て選択制御信号出力を与える。S制御信号が論理零であ
る場合には、加算器回路21はモジユロ範囲の上限に近づ
きつつある。けた上げ制御ビツトCB1とCB2の両方が論理
零である場には、上限のラツプアラウンドは起きない。
けた上げ制御ビツトCB1およびCB2の両方を調べる必要が
ある理由は2つあり、第1表を参照すると更によく理解
されるかもしれない。nビツト加算器回路21と23の両方
の高位けた上げビツトは多数のモジユラスを表わす。こ
のことは、可能な値の範囲は選択される実際のモジユロ
の範囲より広いかもしれないことを意味する。例えばけ
た上げビツトC21に関していうと、モジユロ5が選択さ
れ結果として生じる和が6であると、ラツプアラウンド
が起きたことを示すためにC21に対するけた上げ出力ビ
ツトは発生しない。従つて、ラツプアラウンドが起きた
としても、けた上げ制御ビツトCB1は零である。しか
し、5のモジユラスサイズがnビツト加算器回路23によ
つて6から減算されその結果が負の方向にオーバフロー
しないと、けた上げ制御ビツトC22は論理1であり、上
限のラツプアウランドが起きたことを示す。加算器23に
おいてモジユラス値を減算する場合には、けた上げは借
りの逆であり1の中間けた上げ値は上限のkLSBsによる
ラツプアラウンドが起きたことを示すということを忘れ
てはならない。要約すると、ビツトSによつて示される
ように加算の期間中にけた上げ制御ビツトCB1又はCB2の
いずれかが論理1値を有すると、ラツプアラウンド状態
が存在し、マルチプレクサ回路61は選択信号をマルチプ
レクサ回路22へ与え、マルチプレクサ回路22が正しい出
力Aとしてnビツト加算器回路23のWラツプアラウンド
出力を与えるようにさせる。
S制御ビツトが論理1であると、nビツト加算器回路21
はモジユロ範囲の下限に近づきつつある。ラツプアラウ
ンドの存在を決定するには第1けた上げビツトCB1だけ
を調べさえすればよい。これはドントケア状態を示す第
2表のCB2欄に書かれた“X"によつて示されている。n
ビツト加算器回路21の中間けた上げビツトを調べるだけ
でよい理由は、各けた上げビツトに対して複数のモジユ
ロ値が存在する場合に第1表からどのモジユラス値が選
択されるかには関係なく下限は既知の定められた値であ
るからである。この結果、nビツト加算器回路23によつ
て与えられるモジユラス値の加算は追加情報を与えな
い。
はモジユロ範囲の下限に近づきつつある。ラツプアラウ
ンドの存在を決定するには第1けた上げビツトCB1だけ
を調べさえすればよい。これはドントケア状態を示す第
2表のCB2欄に書かれた“X"によつて示されている。n
ビツト加算器回路21の中間けた上げビツトを調べるだけ
でよい理由は、各けた上げビツトに対して複数のモジユ
ロ値が存在する場合に第1表からどのモジユラス値が選
択されるかには関係なく下限は既知の定められた値であ
るからである。この結果、nビツト加算器回路23によつ
て与えられるモジユラス値の加算は追加情報を与えな
い。
上述の理由によりビツトM0〜M3はモジユラス値から1を
差引いた値を表わすので、加算器23は、モジユラスの他
範囲がnビツト加算器回路21のR′出力へ加算されるか
又はそれから減算されるようにするために補償されなけ
ればならない。従つて、モジユラスがR′から減算され
つつある場合には、減算されつつある値は実際に(Mx+
1)である。その結果生じる値は(−Mx−1)である。
モジユラスが減算されるつつある場合には零のけた上げ
入力を全加算器回路65に結合させることによつて、(Mx
+1)の全体値が数R′から減算される。排他的オアゲ
ート72〜75は全加算器回路65のけた上げ入力ビツトと一
緒に機能して(Mx+1)の2の補数を作り、これがR′
に加算されてその減算を達成する。(Mx+1)がR′に
加算される場合には、この反対が行われる。1のけた上
げ入力が全加算器回路65に結合されるので、R′に加算
される全体値は(Mx+1)となる。
差引いた値を表わすので、加算器23は、モジユラスの他
範囲がnビツト加算器回路21のR′出力へ加算されるか
又はそれから減算されるようにするために補償されなけ
ればならない。従つて、モジユラスがR′から減算され
つつある場合には、減算されつつある値は実際に(Mx+
1)である。その結果生じる値は(−Mx−1)である。
モジユラスが減算されるつつある場合には零のけた上げ
入力を全加算器回路65に結合させることによつて、(Mx
+1)の全体値が数R′から減算される。排他的オアゲ
ート72〜75は全加算器回路65のけた上げ入力ビツトと一
緒に機能して(Mx+1)の2の補数を作り、これがR′
に加算されてその減算を達成する。(Mx+1)がR′に
加算される場合には、この反対が行われる。1のけた上
げ入力が全加算器回路65に結合されるので、R′に加算
される全体値は(Mx+1)となる。
加算演算の簡単な例でモジユロ演算装置20の動作を更に
説明する。加算演算が示されているので、増分/減分制
御信号は論理零である。演算(5+3)モジユロ6を計
算するものとする。正しい答は2である。この例におい
て、モジユラス6は23又は8の表示の範囲内であるので
数RおよびNの3つのLSBsの中間けた上げビツトC21お
よびC22を調べなければならない。数Rは5,又は2進法
の0101であり、数Nは3,又は2進法の0011であり、モジ
ユラスより1少ない数Mxは5,又は2進法の0101である。
数Nの符合ビツトN3はは零であり増分/減分制御信号は
零であるので、Sビツトは零となる。nビツト加算器回
路21のR′出力は8,又は2進法の1000に等しい。中間け
た上げビツトC31,C21,C11およびC01はそれぞれ0111であ
る。モジユロ制御ビツトK3,K2,K1およびK0はそれぞれ01
00であり、このことは第3中間けた上げビツトC21およ
びC22が調べられることを意味する。ビツトK2およびC21
はともに2進法の1であるので、出力モジユロけた上げ
ビツトCB1は2進法の1であり、このことはラツプアラ
ウンドが起きたこと、およびマルチプレクサ回路22のA
端子を出力に結合してラツプアラウンド数Wを与えるべ
きことをマルチプレクサ回路61に示す。加算器23におい
ては、R′数1000が全加算器回路65〜68のそれぞれのA
入力においてnビツト加算器回路23に結合される。6,即
ち0110の2の補数値,即ち1010を全加算器回路65〜68の
それぞれのB入力に結合することによつて、モジユラス
値(Mx+1)がR′から減算される。その結果生じるn
ビツト加算器回路23のWラツプアラウンド出力は0010,
又は2であり、これはマルチプレクサ22に結合される。
けた上げ制御ビツトCB1は1でありSビツトは零で加算
を示すので、数WF付属書類1の第2表に従つて出力され
る。CB1が1であるという事実により関連はないが、CB2
の値は零である。K2が2進法の1の値を有する唯一のモ
ジユロ制御ビツトであり、nビツト加算器回路23の中間
けた上げビツトC22が論理零であるということによりCB2
の値は決定された。従つて、オアゲート85の出力は論理
零である。上限のラツプアラウンドが起きないと、nビ
ツト加算器回路21および23のCB1およびCB2は両方とも論
理零である点に注目すべきである。
説明する。加算演算が示されているので、増分/減分制
御信号は論理零である。演算(5+3)モジユロ6を計
算するものとする。正しい答は2である。この例におい
て、モジユラス6は23又は8の表示の範囲内であるので
数RおよびNの3つのLSBsの中間けた上げビツトC21お
よびC22を調べなければならない。数Rは5,又は2進法
の0101であり、数Nは3,又は2進法の0011であり、モジ
ユラスより1少ない数Mxは5,又は2進法の0101である。
数Nの符合ビツトN3はは零であり増分/減分制御信号は
零であるので、Sビツトは零となる。nビツト加算器回
路21のR′出力は8,又は2進法の1000に等しい。中間け
た上げビツトC31,C21,C11およびC01はそれぞれ0111であ
る。モジユロ制御ビツトK3,K2,K1およびK0はそれぞれ01
00であり、このことは第3中間けた上げビツトC21およ
びC22が調べられることを意味する。ビツトK2およびC21
はともに2進法の1であるので、出力モジユロけた上げ
ビツトCB1は2進法の1であり、このことはラツプアラ
ウンドが起きたこと、およびマルチプレクサ回路22のA
端子を出力に結合してラツプアラウンド数Wを与えるべ
きことをマルチプレクサ回路61に示す。加算器23におい
ては、R′数1000が全加算器回路65〜68のそれぞれのA
入力においてnビツト加算器回路23に結合される。6,即
ち0110の2の補数値,即ち1010を全加算器回路65〜68の
それぞれのB入力に結合することによつて、モジユラス
値(Mx+1)がR′から減算される。その結果生じるn
ビツト加算器回路23のWラツプアラウンド出力は0010,
又は2であり、これはマルチプレクサ22に結合される。
けた上げ制御ビツトCB1は1でありSビツトは零で加算
を示すので、数WF付属書類1の第2表に従つて出力され
る。CB1が1であるという事実により関連はないが、CB2
の値は零である。K2が2進法の1の値を有する唯一のモ
ジユロ制御ビツトであり、nビツト加算器回路23の中間
けた上げビツトC22が論理零であるということによりCB2
の値は決定された。従つて、オアゲート85の出力は論理
零である。上限のラツプアラウンドが起きないと、nビ
ツト加算器回路21および23のCB1およびCB2は両方とも論
理零である点に注目すべきである。
上記の説明から任意のモジユラスにおける可変数の和お
よび差を与えるモジユロM演算装置が提供されているこ
とが明らかになつたはずである。本発明は例をあげたか
らといつて特定のビツトサイズに限定されるもとではな
い。更に、本発明は、関連する回路のサイズが適当なも
のであれば個々の回路のうちの選択された回路は相異な
るビツトサイズを用いて実施できるように本発明を変更
してもよい。任意のワードサイズを適当な復号技術によ
つて実施してもよく、モジユロ演算装置に必要な量はビ
ツトサイズと正確に線的関係にある。本発明は特定の種
類の演算に限定されるものではなく、1例として2進演
算で示したあるにすぎない。例えば、BCD(2進化10進
数)などの他の種類の演算も本発明とともに容易に使用
できる。また本発明は整数演算のような特定の種類の数
表現に限定されるものでもない。本発明は符号付数又は
符号の付いていない数とともに用いてもよい。浮動小数
点数のような他の数表現を用いてもよい。更に、本発明
の特定の制御部分を実施するために多くの方法が存在す
る。本発明の一部を実施するために従来のPLA又はROMを
用いてもよい。nビツト加算器回路21および23およびモ
ジユラスデコーダ回路27において速度を改善し論理を最
小にするために従来のけた上げ先見技術を用いてもよ
い。
よび差を与えるモジユロM演算装置が提供されているこ
とが明らかになつたはずである。本発明は例をあげたか
らといつて特定のビツトサイズに限定されるもとではな
い。更に、本発明は、関連する回路のサイズが適当なも
のであれば個々の回路のうちの選択された回路は相異な
るビツトサイズを用いて実施できるように本発明を変更
してもよい。任意のワードサイズを適当な復号技術によ
つて実施してもよく、モジユロ演算装置に必要な量はビ
ツトサイズと正確に線的関係にある。本発明は特定の種
類の演算に限定されるものではなく、1例として2進演
算で示したあるにすぎない。例えば、BCD(2進化10進
数)などの他の種類の演算も本発明とともに容易に使用
できる。また本発明は整数演算のような特定の種類の数
表現に限定されるものでもない。本発明は符号付数又は
符号の付いていない数とともに用いてもよい。浮動小数
点数のような他の数表現を用いてもよい。更に、本発明
の特定の制御部分を実施するために多くの方法が存在す
る。本発明の一部を実施するために従来のPLA又はROMを
用いてもよい。nビツト加算器回路21および23およびモ
ジユラスデコーダ回路27において速度を改善し論理を最
小にするために従来のけた上げ先見技術を用いてもよ
い。
図示した形においては、1つだけのラツプアラウンドを
検出する能力に関する制約および許容できる下限の制限
は実際の応用例の大部分にとつて制約にならないという
点にも注目すべきである。一般に、メモリにおける待ち
行列,循環バツフアおよびFIFOを作るためのアドレス計
算はデータ構造へのアクセスの性質の故に2つ以上のラ
ツプアラウンドを有しない。例えば、FIFOは一時に数個
のデータ項目を挿入し除去することを基礎にして動作す
る。FIFOのモジユロサイズはFIFOデータ構成から各挿入
又は除去のサイズよりも一般にははるかに大きい。一部
の大きなデータプロセスツサでは、データは一時に数ワ
ードづつメモリへ挿入され、又はメモリから挿入され
る。代表的なモジユロサイズの場合には、モジユロラツ
プアラウンドは1つの命令につき2回以上は決して起き
ない。これは1より大きいオフセツトを許すことがモジ
ユロ演算にとつて有利な場合のもう1つの例である。
検出する能力に関する制約および許容できる下限の制限
は実際の応用例の大部分にとつて制約にならないという
点にも注目すべきである。一般に、メモリにおける待ち
行列,循環バツフアおよびFIFOを作るためのアドレス計
算はデータ構造へのアクセスの性質の故に2つ以上のラ
ツプアラウンドを有しない。例えば、FIFOは一時に数個
のデータ項目を挿入し除去することを基礎にして動作す
る。FIFOのモジユロサイズはFIFOデータ構成から各挿入
又は除去のサイズよりも一般にははるかに大きい。一部
の大きなデータプロセスツサでは、データは一時に数ワ
ードづつメモリへ挿入され、又はメモリから挿入され
る。代表的なモジユロサイズの場合には、モジユロラツ
プアラウンドは1つの命令につき2回以上は決して起き
ない。これは1より大きいオフセツトを許すことがモジ
ユロ演算にとつて有利な場合のもう1つの例である。
波形発生もまた、記憶された波形の1周期を通してのモ
ジユロアドレス指定の使用に基づいて任意の周波数信号
が発生するモジユロ演算使用の一般的な例である。モジ
ユロMは波形の1周期に対する記憶の長さに等しい。オ
フセツトNは発生する波形の角速度である。出力値当た
り完全な1周期の小数部(fractions)を発生させるた
めには、オフセツトNはモジユラスMより小でなければ
ならない。従つて、Nの絶対値はモジユラス値より小さ
いか又はモジユラス値に等しくなければならないという
上述した制約は波形発生応用例では全く問題にならな
い。しかし、任意のオフセツトおよびモジユロ値を用い
てモジユロアドレス指定および算術計算を行う能力によ
つて得られる柔軟性は信号処理応用例においてきわめ貴
重である。
ジユロアドレス指定の使用に基づいて任意の周波数信号
が発生するモジユロ演算使用の一般的な例である。モジ
ユロMは波形の1周期に対する記憶の長さに等しい。オ
フセツトNは発生する波形の角速度である。出力値当た
り完全な1周期の小数部(fractions)を発生させるた
めには、オフセツトNはモジユラスMより小でなければ
ならない。従つて、Nの絶対値はモジユラス値より小さ
いか又はモジユラス値に等しくなければならないという
上述した制約は波形発生応用例では全く問題にならな
い。しかし、任意のオフセツトおよびモジユロ値を用い
てモジユロアドレス指定および算術計算を行う能力によ
つて得られる柔軟性は信号処理応用例においてきわめ貴
重である。
付属書類
第1図は、先行技術としてのモジユロ演算回路のブロツ
ク構成図である。 第2図は、本発明の実施例としてのモジユロ演算装置の
ブロツク構成図である。 第3図は、第2図に示したモジユロ演算装置の部分概略
図である。 第4図は、第2図のデコーダの好ましい形式としての部
分概略図である。 10,20……モジユロ演算装置 11……加算器 12……比較器 13……出力マルチプレクサ回路 21,23……nビツト加算器回路(加算器) 22,61……マルチプレクサ回路 25,29……モジユロ/けた上げ制御回路 27……モジユロデコーダ回路 31……制御論理回路 40,41,42,43,65,66,67,68……全加算器回路 46,47,48,49,72,73,74,75……排他的オアゲート 51,52,53,54,81,82,83,84……アンドゲート 56,85……オアゲート 60,92,94,96……ノアゲート 70,91,93,95……インバータ回路 87,88,89,90……マルチプレクサ
ク構成図である。 第2図は、本発明の実施例としてのモジユロ演算装置の
ブロツク構成図である。 第3図は、第2図に示したモジユロ演算装置の部分概略
図である。 第4図は、第2図のデコーダの好ましい形式としての部
分概略図である。 10,20……モジユロ演算装置 11……加算器 12……比較器 13……出力マルチプレクサ回路 21,23……nビツト加算器回路(加算器) 22,61……マルチプレクサ回路 25,29……モジユロ/けた上げ制御回路 27……モジユロデコーダ回路 31……制御論理回路 40,41,42,43,65,66,67,68……全加算器回路 46,47,48,49,72,73,74,75……排他的オアゲート 51,52,53,54,81,82,83,84……アンドゲート 56,85……オアゲート 60,92,94,96……ノアゲート 70,91,93,95……インバータ回路 87,88,89,90……マルチプレクサ
Claims (1)
- 【請求項1】第1および第2入力数の和又は差として出
力数を与え、前記第1入力数および出力数は複数の所定
のモジユラス数のうちの選択された1つに関連して上限
および下限を有する所定範囲内にあり、前記第2数は選
択されたモジユラス数より小さいか又はそのモジユラス
数に等しい絶対値を有し、前記和又は差は上限又は下限
に近づくか又は上限又は下限をアツプアラウンドするモ
ジユロ演算装置において、 各々正もしくは負の数である第1および第2入力数を選
択的に受信する入力を有していて前記第1および第2入
力数を加算又は減算し、第1和数又は差数およびランク
付けされた複数の第1けた上げ信号のうちの少なくとも
1つの第1けた上げ信号を提供し、前記第1和数は第1
および第2入力数の線形演算和又は差を表わす第1加算
器手段と、 第1和数又は差数および選択されたモジユラス数を選択
的に受信する入力を有していて前記第1和数又は差数か
らモジユラス数を減算するか、又は前記第1和数又は差
数へモジユラス数を加算し、第2和数又は差数およびラ
ンク付けされた複数の第2けた上げ信号のうちの少なく
とも1つの第2けた上げ信号を提供し、前記第2和数又
は差数は第1および第2入力数のモジユロ演算和又は差
を表わす第2加算器手段と、 選択されたモジユラス数を受信し、それに応じて制御信
号を与えるデコーダ手段と、 第1加算器手段および第2加算器手段、およびデコーダ
手段に結合され、第1および第2けた上げ信号と制御信
号を選択的に受信し、線形演算和又はモジユロ演算和の
内の一方を、出力和として選択するために、第1および
第2入力数の和から生じる上限のラツプアラウンドを選
択的に検出する制御手段と、 を具えることを特徴とするモジユロ演算装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/715,863 US4744043A (en) | 1985-03-25 | 1985-03-25 | Data processor execution unit which receives data with reduced instruction overhead |
US715864 | 1985-03-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61223946A JPS61223946A (ja) | 1986-10-04 |
JPH0778725B2 true JPH0778725B2 (ja) | 1995-08-23 |
Family
ID=24875782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61066998A Expired - Lifetime JPH0778725B2 (ja) | 1985-03-25 | 1986-03-25 | モジュロ演算装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US4744043A (ja) |
JP (1) | JPH0778725B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04352230A (ja) * | 1991-05-30 | 1992-12-07 | Hitachi Ltd | 演算器およびマイクロプロセッサ |
US5381360A (en) * | 1993-09-27 | 1995-01-10 | Hitachi America, Ltd. | Modulo arithmetic addressing circuit |
US6067613A (en) * | 1993-11-30 | 2000-05-23 | Texas Instruments Incorporated | Rotation register for orthogonal data transformation |
US6202130B1 (en) | 1998-04-17 | 2001-03-13 | Motorola, Inc. | Data processing system for processing vector data and method therefor |
US7415601B2 (en) * | 2002-06-28 | 2008-08-19 | Motorola, Inc. | Method and apparatus for elimination of prolog and epilog instructions in a vector processor using data validity tags and sink counters |
US7140019B2 (en) * | 2002-06-28 | 2006-11-21 | Motorola, Inc. | Scheduler of program instructions for streaming vector processor having interconnected functional units |
US7159099B2 (en) * | 2002-06-28 | 2007-01-02 | Motorola, Inc. | Streaming vector processor with reconfigurable interconnection switch |
US7290122B2 (en) * | 2003-08-29 | 2007-10-30 | Motorola, Inc. | Dataflow graph compression for power reduction in a vector processor |
US7610466B2 (en) * | 2003-09-05 | 2009-10-27 | Freescale Semiconductor, Inc. | Data processing system using independent memory and register operand size specifiers and method thereof |
US7315932B2 (en) * | 2003-09-08 | 2008-01-01 | Moyer William C | Data processing system having instruction specifiers for SIMD register operands and method thereof |
US7275148B2 (en) * | 2003-09-08 | 2007-09-25 | Freescale Semiconductor, Inc. | Data processing system using multiple addressing modes for SIMD operations and method thereof |
US7107436B2 (en) * | 2003-09-08 | 2006-09-12 | Freescale Semiconductor, Inc. | Conditional next portion transferring of data stream to or from register based on subsequent instruction aspect |
US20070114382A1 (en) | 2005-11-23 | 2007-05-24 | Clemmer David E | Ion mobility spectrometer |
US7945768B2 (en) * | 2008-06-05 | 2011-05-17 | Motorola Mobility, Inc. | Method and apparatus for nested instruction looping using implicit predicates |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3909789A (en) * | 1972-11-24 | 1975-09-30 | Honeywell Inf Systems | Data processing apparatus incorporating a microprogrammed multifunctioned serial arithmetic unit |
DE2619307A1 (de) * | 1976-04-30 | 1977-11-10 | Inst Mat I Mekh Akademii Nauk | Multipliziereinrichtung |
EP0051079B1 (de) * | 1980-11-03 | 1984-09-26 | Deutsche ITT Industries GmbH | Binäres MOS-Ripple-Carry-Parallel-Addier/Subtrahierwerk und dafür geeignete Addier/Subtrahierstufe |
US4384340A (en) * | 1980-12-24 | 1983-05-17 | Honeywell Information Systems Inc. | Data processor having apparatus for controlling the selection of decimal digits of an operand when executing decimal arithmetic instructions |
JPS5890242A (ja) * | 1981-11-24 | 1983-05-28 | Nec Corp | 加減算器 |
JPS58119046A (ja) * | 1982-01-07 | 1983-07-15 | Nec Corp | 加減算器 |
-
1985
- 1985-03-25 US US06/715,863 patent/US4744043A/en not_active Expired - Lifetime
-
1986
- 1986-03-25 JP JP61066998A patent/JPH0778725B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS61223946A (ja) | 1986-10-04 |
US4744043A (en) | 1988-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4742479A (en) | Modulo arithmetic unit having arbitrary offset and modulo values | |
JP2662196B2 (ja) | 演算結果正規化方法及び装置 | |
US4675809A (en) | Data processing system for floating point data having a variable length exponent part | |
JPH0778725B2 (ja) | モジュロ演算装置 | |
EP0530372B1 (en) | Numerical expression converter and vector processor using the same | |
JPH07182141A (ja) | 演算装置及び演算方法 | |
EP0264048B1 (en) | Thirty-two bit bit-slice | |
US5007009A (en) | Non-recovery parallel divider circuit | |
EP0568374B1 (en) | Parallelized magnitude comparator for comparing a binary number to a fixed value | |
US7296048B2 (en) | Semiconductor circuit for arithmetic processing and arithmetic processing method | |
JP3517442B2 (ja) | マルチレベル並列マグニチュードコンパレータ | |
US4852038A (en) | Logarithmic calculating apparatus | |
US6012077A (en) | Method and apparatus for indicating overflow status of bit-variable data employing pipelining adder | |
EP0568373B1 (en) | Apparatus and method for parallelized magnitude comparison of digital data | |
JP3579087B2 (ja) | 演算器およびマイクロプロセッサ | |
US6665698B1 (en) | High speed incrementer/decrementer | |
EP0265948B1 (en) | Data processor capable of immediately calculating branch address in relative address branch | |
US6615228B1 (en) | Selection based rounding system and method for floating point operations | |
US5261028A (en) | Circuit for discriminating a given point within a predetermined area defined by two boundary values | |
EP0564137A1 (en) | Parallelized borrow look ahead subtractor | |
US5304994A (en) | Minimal delay leading one detector with result bias control | |
US6076098A (en) | Adder for generating sum and sum plus one in parallel | |
JP2705162B2 (ja) | 演算処理装置 | |
KR960012664B1 (ko) | 정규화를 위한 시프트-넘버 검출 회로를 구비한 고정 소수점 디지탈 신호 처리기 | |
JP3210356B2 (ja) | データのゼロ判定装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |