JP2845650B2 - 論理式評価演算器 - Google Patents

論理式評価演算器

Info

Publication number
JP2845650B2
JP2845650B2 JP32116591A JP32116591A JP2845650B2 JP 2845650 B2 JP2845650 B2 JP 2845650B2 JP 32116591 A JP32116591 A JP 32116591A JP 32116591 A JP32116591 A JP 32116591A JP 2845650 B2 JP2845650 B2 JP 2845650B2
Authority
JP
Japan
Prior art keywords
logical expression
evaluation value
skip
state
evaluation
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 - Fee Related
Application number
JP32116591A
Other languages
English (en)
Other versions
JPH05135090A (ja
Inventor
岳 西川
浅井  清
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.)
NIPPON GENSHIRYOKU KENKYUSHO
NEC Corp
Original Assignee
NIPPON GENSHIRYOKU KENKYUSHO
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NIPPON GENSHIRYOKU KENKYUSHO, Nippon Electric Co Ltd filed Critical NIPPON GENSHIRYOKU KENKYUSHO
Priority to JP32116591A priority Critical patent/JP2845650B2/ja
Publication of JPH05135090A publication Critical patent/JPH05135090A/ja
Priority to US08/465,902 priority patent/US5553309A/en
Application granted granted Critical
Publication of JP2845650B2 publication Critical patent/JP2845650B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は論理式を評価する情報処
理装置における演算器に関し、特に論理単位元“0”,
“1”,オア演算子,演算レベルを指定す
る“(”,“)”等から構成される論理式をベクトルデ
ータとして扱って論理式の評価を実行する論理式評価演
算器に関する。
【0002】
【従来の技術】一般に原子力コードにおける粒子モデル
では、粒子は通常は円球,円筒,直方体,円錐などの基
本形状(プリミティブ)を組み合わせた領域(ゾーン,
セル)が包含関係を成す複雑な形状の空間内を移動また
は滞留する。領域には予め番号がつけられており、1つ
の領域内に存在する粒子にはその領域の番号を属性とし
て持たせている。
【0003】粒子が空間を移動中に粒子の持つ領域番号
と粒子が存在している領域の番号とが不一致になること
がある。この原因としては、入力データで定義されてい
る形状の矛盾,粒子の飛軌線と領域境界との交差計算時
の誤差の集積,当該コードのプログラム論理エラーなど
が考えられる。不一致を起こした粒子はロスト(los
t)粒子として計算の対象外とする。
【0004】ロスト粒子を発見するためにMCNPコー
ドでは粒子が新しい領域に入る毎に無矛盾性のチェック
を行っている。
【0005】MCNPコードにおける領域は、それを取
り囲む表面の組み合わせをリスト表現して定義され、こ
のリスト表現は入力データから入力処理ルーチンによっ
て生成される。
【0006】正しい領域か否かの判定は、粒子を取り囲
む表面の正負の向きの意味が入力データと同じ意味であ
れば入力データ中の表面番号を“1”で置き換え、異な
っていれば“0”で置き換えて上記領域リスト表現を作
成する。
【0007】この領域を表すリスト表現をBoolea
n operatorの優先順位に従って論理式として
評価し、その値をLGEVALとする。
【0008】LGEVALの値が“1”ならば粒子は正
しく定義された領域に存在し、LGEVALの値が
“0”ならば粒子は矛盾した領域内に存在する、即ちロ
スト粒子である。
【0009】MCNPの方法は、入力データの誤りの発
見,コード開発時のプログラム論理の誤りの発見,計算
誤差の集積とプログラム論理の不一致による計算時のプ
ログラムの暴走の回避などに有用であると考えられる。
【0010】そして従来、上述のような論理式の評価は
ソフトウェアで処理され、然も条件判断,分岐処理が頻
繁に現れる構造のプログラムとなるためスカラ処理され
ていた。
【0011】
【発明が解決しようとする課題】上述した従来の論理式
の評価方法はソフトウェアによるスカラ処理となってい
るために論理式の1つの要素を処理するのにも数百マシ
ンサイクルかかり、前述したような粒子モデルの原子力
コードの高速処理の大きな障害となっている。
【0012】そこで本発明の目的は、論理式の評価を高
速に行うことができる論理式評価演算器を提供すること
にある。
【0013】
【課題を解決するための手段】本発明の論理式評価演算
器は、評価中の論理式の中間評価値を保持する評価値保
持手段と、この評価値保持手段に保持された中間評価値
と論理単位元の値とを演算する評価値演算手段と、評価
中の論理式のネスティングの深さをカウントする演算レ
ベルカウント手段と、読み飛ばし状態であるか否かを保
持する読み飛ばし状態保持手段と、読み飛ばし状態中の
論理式のネスティングの深さをカウントする読み飛ばし
レベルカウント手段と、ベクトルデータの形式でベクト
ルレジスタに格納された論理式の構成要素を連続して順
次に読み出し、この読み出した個々の構成要素の種別の
判定結果と前記各手段の現在の状態とに基づいて、実際
の演算が不要となる演算子の第2被演算データにあたる
論理式部分を読み飛ばしながら前記ベクトルデータ形式
の論理式の評価を進めるのに必要な制御信号を発生して
前記各手段に送出する制御手段とを備えている。
【0014】また、前記ベクトルレジスタに格納された
論理式の評価を完了した時点で、前記演算レベルカウン
ト手段に保持されている演算レベル情報,前記読み飛ば
し状態保持手段に保持されている読み飛ばし状態情報,
前記読み飛ばしレベルカウント手段に保持されている読
み飛ばしレベル情報とを、前記評価値保持手段に保持さ
れている中間評価値と共に前記ベクトルレジスタに格納
する中間状態格納手段と、演算開始時に、前記ベクトル
レジスタに格納された演算中間状態である演算レベル情
報,読み飛ばし状態情報,読み飛ばしレベル情報を中間
評価値と共に読み込み、前記演算レベルカウント手段,
前記読み飛ばし状態保持手段,前記読み飛ばしレベルカ
ウント手段,前記評価値保持手段にセットする中間状態
設定手段とを備えている。
【0015】更に、前記制御手段は、読み出した論理式
の構成要素の種別を判定する基準データを保持するレジ
スタを備え、このレジスタはスキャンパスを通じて又は
ソフトウェア命令によって任意の値を設定することがで
きるようになっている。
【0016】
【作用】本発明の論理式評価演算器においては、評価対
象の論理式はベクトルデータの形式でベクトルレジスタ
に格納される。即ち、論理式を構成する要素をその先頭
から順に例えば元“0”,オア演算子,元“1”,…と
すると、元“0”は数値X,オア演算子は数値Y,元
“1”は数値Zといった具合に各構成要素の種別毎に或
る数値を定め、それらをベクトル要素A0=X,A1=
Y,A2=Z,…とするベクトルデータAをベクトルレ
ジスタに格納しておくものである。
【0017】動作にあっては、制御手段が、ベクトルデ
ータAの形式でベクトルレジスタに格納された論理式の
構成要素を例えば1マシンサイクル毎に連続して順次に
読み出し、この読み出した個々の構成要素の種別を、
X,Y,Z等の基準データを保持するレジスタと構成要
素の値とを比較することにより判定し、この判定結果と
各手段の現在の状態とに基づいて、実際の演算が不要と
なる演算子の第2被演算データにあたる論理式部分を読
み飛ばしながら論理式の評価を進めるのに必要な制御信
号を発生し、この制御信号に応答して、評価値保持手段
が評価中の論理式の中間評価値を保持し、評価値演算手
段が評価値保持手段に保持された中間評価値と論理単位
元の値“1”,“0”とを演算し、演算レベルカウント
手段が評価中の論理式のネスティングの深さをカウント
し、読み飛ばし状態保持手段が読み飛ばし状態であるか
否かを保持し、読み飛ばしレベルカウント手段が読み飛
ばし状態中の論理式のネスティングの深さをカウントす
る。
【0018】即ち、現中間評価値が“1”の場合にはど
のような第2被演算データとオア演算しても結果は
“1”であり、また現中間評価値が“0”の場合にはど
のような第2被演算データとアンド演算しても結果は
“0”であるので、制御手段は、読み飛ばし条件が成立
した場合にはそのことを読み飛ばし状態保持手段に保持
し、読み飛ばしレベルカウント手段で読み飛ばしレベル
をカウントして第2被演算データにあたる論理式部分を
読み飛ばす。また、非読み飛ばし状態においては評価値
演算手段等を使用して実際の演算を進めるものである。
【0019】また、前記ベクトルレジスタの最大ベクト
ル長を超えるような長さの論理式の評価に際しては、論
理式を複数の部分論理式に分割して評価が行われ、その
際、中間状態格納手段が、前記ベクトルレジスタに格納
された部分論理式の評価を完了した時点で、前記演算レ
ベルカウント手段に保持されている演算レベル情報,前
記読み飛ばし状態保持手段に保持されている読み飛ばし
状態情報,前記読み飛ばしレベルカウント手段に保持さ
れている読み飛ばしレベル情報とを、前記評価値保持手
段に保持されている中間評価値と共に前記ベクトルレジ
スタに格納し、残りの部分論理式の演算開始時に、中間
状態設定手段が、前記ベクトルレジスタに格納された演
算中間状態である演算レベル情報,読み飛ばし状態情
報,読み飛ばしレベル情報を中間評価値と共に読み込
み、前記演算レベルカウント手段,前記読み飛ばし状態
保持手段,前記読み飛ばしレベルカウント手段,前記評
価値保持手段にセットする。
【0020】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
【0021】図1を参照すると、本発明を適用した情報
処理装置の一例は、主記憶部1とベクトル演算部2とを
含んでいる。
【0022】主記憶部1は、プログラムや処理に必要な
データを格納するものであって、本実施例では評価すべ
き論理式をベクトルデータの形でこの主記憶部1に格納
している。
【0023】ベクトル演算部2は、ベクトルレジスタ3
および論理式評価演算器4を含み、更に図示していない
が従来の加算,乗算器等のベクトル演算器を含んでい
る。
【0024】ベクトルレジスタ3はベクトルデータ等を
保持するレジスタであり、ロード線101およびストア
線102によって主記憶部1と接続されている。
【0025】論理式評価演算器4は、本発明の主要部で
あり、データ線401によってベクトルレジスタ3から
評価すべき論理式の要素を受け、評価を行い、評価結果
または評価の中間状態をデータ線402を介してベクト
ルレジスタ3へ格納する。
【0026】本実施例においては、論理式評価演算器4
は、制御手段41,評価値演算手段42,評価値保持手
段43,演算レベルカウント手段44,読み飛ばし状態
保持手段45,読み飛ばしレベルカウント手段46,中
間状態格納手段47および中間状態設定手段48から構
成されている。
【0027】評価値演算手段42は、制御手段41から
制御線412を通じて与えられる制御信号によって制御
され、評価値保持手段43からデータ線431に出力さ
れている中間評価値とベクトルレジスタ3からデータ線
401に読み出された論理単位元の値との演算を行う手
段であり、演算結果はデータ線421に出力される。
【0028】評価値保持手段43は、制御手段41から
制御線412を通じて与えられる制御信号によって制御
され、データ線421に出力された演算結果を格納する
ことにより、評価中の論理式の中間評価値を保持する手
段である。この評価値保持手段43に保持されている中
間評価値はデータ線431に出力される。
【0029】演算レベルカウント手段44は、制御手段
41から制御線413に出力される制御信号によって制
御され、評価中の論理式のネスティングの深さ(演算レ
ベル)をカウントする手段である。この演算レベルカウ
ント手段44でカウントされた演算レベル情報はデータ
線441に出力される。
【0030】読み飛ばし状態保持手段45は、制御手段
41から制御線415に出力される制御信号によって制
御され、読み飛ばし状態であるか否かを示す読み飛ばし
状態情報を保持する手段である。この読み飛ばし状態情
報はデータ線451に出力さされる。
【0031】読み飛ばしレベルカウント手段46は、制
御手段41から制御線414を通じて与えられる制御信
号によって制御され、読み飛ばし状態中の論理式のネス
ティングの深さ(読み飛ばしレベル)をカウントする手
段である。このカウント値である読み飛ばしレベル情報
はデータ線461に出力される。
【0032】制御手段41は、ベクトルデータの形式で
ベクトルレジスタ3に格納された論理式の構成要素を連
続して順次に読み出し、この読み出した個々の構成要素
の種別の判定結果と、データ線431を通じて入力され
ている中間評価値と、データ線441を通じて入力され
ている演算レベル情報と、データ線451を通じて入力
されている読み飛ばし状態情報と、データ線461を通
じて入力されている読み飛ばしレベル情報とに基づい
て、実際の演算が不要となる演算子の第2被演算データ
にあたる論理式部分を読み飛ばしながら論理式の評価を
連続的に進めるのに必要な制御を実行する手段である。
【0033】この制御手段41は、データ線401,4
31,441,451,461によるデータおよび図示
しない命令処理部からの制御信号を入力情報とし、制御
信号を制御線410〜416により各部に供給してい
る。
【0034】図2は制御手段41の制御内容の一例を示
すフローチャートであり、以下、暫くの間、図2を参照
して制御手段41の制御機能を説明する。
【0035】なお、本実施例で対象とする論理式は、元
“1”,“0”,オア演算子v,演算レベルを指定する
“(”,“)”を構成要素として含み、演算子の省略は
アンド演算子を意味している。
【0036】1マシンサイクルの開始時、制御手段41
は制御線410上の制御信号によりベクトルレジスタ3
からデータ線401を介して論理式の構成要素を1要素
読み込む(S1)。なお、I番目に読み込んだ構成要素
をLG(I)とする。
【0037】次に、読み飛ばし状態保持手段45からデ
ータ線451に出力されている読み飛ばし状態値Fの値
を判定し(S2)、この読み飛ばし状態値Fが非読み飛
ばし状態を示す場合(F=“0”)にはステップS3へ
進み、読み飛ばし状態値Fが読み飛ばし状態を示す場合
(F=“1”)には読み飛ばし処理を行うためにステッ
プS15へ進む。
【0038】ステップS3では、入力した論理式の構成
要素LG(I)が“0”または“1”の元(Valu
e)であるか、オア演算子や演算レベルを指定す
る“(”等の演算子(OP)であるかを判定し、“0”
または“1”の場合には、制御線412上の制御信号に
より、評価値演算手段42にデータ線401上の構成要
素LG(I)(“1”または“0”)とデータ線431
上の評価値LGEVALとの論理積をとらせ、その結果
を新しい評価値LGEVALとして評価値保持手段43
に保持せしめる(S14)。そして、1マシンサイクル
の動作を終了し、次の要素の処理に移る。
【0039】ステップS3において構成要素LG(I)
が演算子(OP)であると判定した場合、次のステップ
S4で更にその種別を判定し、オア演算子v(UNIO
N)であればステップS5へ、“(”であればステップ
S8へ、それ以外即ち“)”であればステップS12へ
進む。
【0040】ステップS5では、データ線431に出力
されている現在の評価値LGEVALの値をチェックす
る。そして、その値が“0”であれば制御線412上の
制御信号により評価値保持手段43の評価値LGEVA
Lを“1”にセットし(S6)、次の要素の処理に移
る。また、現在の評価値LGEVALの値が“0”でな
く“1”であれば、演算レベルカウント手段44からデ
ータ線441に出力されている演算レベルLの値をチェ
ックし(S7)、L=“0”の場合は論理式の評価を終
了する。他方、L≠“0”の場合は、現在の評価値LG
EVALが“1”であり、今回の演算子がオア演算子v
であるので、このオア演算子vの第2被演算データが
“1”であろうが“0”であろうが結果は“1”になる
ので、読み飛ばし状態に移行するために制御信号41
4,415上の制御信号により読み飛ばしレベルカウン
ト手段46の読み飛ばしレベルM,読み飛ばし状態保持
手段45の読み飛ばし状態値Fをそれぞれ“1”にセッ
トし(S10,S11)、次の要素の処理に移る。
【0041】ステップS8では、制御線413上の制御
信号により演算レベルカウント手段44に演算レベルL
を+1せしめる。そして、その時点での評価値LGEV
ALの値をチェックし(S9)、LGEVAL≠“0”
すなわち“1”の場合は次の要素の処理に移る。また、
LGEVAL=“0”の場合には、今回の要素“(”の
直前に省略されているアンド演算子の演算結果はその第
2被演算データが“1”であろうが“0”であろうが結
果は“0”になるので、読み飛ばし状態に移行するため
に制御信号414,415上の制御信号により読み飛ば
しレベルカウント手段46の読み飛ばしレベルM,読み
飛ばし状態保持手段45の読み飛ばし状態値Fをそれぞ
れ“1”にセットし(S10,S11)、次の要素の処
理に移る。
【0042】ステップS12では、制御線413上の制
御信号により演算レベルカウント手段44に演算レベル
Lを−1せしめる。そして、終わりでなければ(S13
でNO)、そのまま次の要素の処理に移行する。
【0043】次に、ステップS2において読み飛ばし状
態値Fが“1”すなわち読み飛ばし状態を示していたこ
とによりステップS15に進んだ場合、更に今回の要素
LG(I)の種別を判定し、LG(I)が“(”であれ
ば制御線414上の制御信号により読み飛ばしレベルカ
ウント手段46の読み飛ばしレベルMを+1せしめ(S
16)、LG(I)が“)”であれば読み飛ばしレベル
Mを−1せしめ(S17)、LG(I)がそれ以外の種
別であれば何もせず、それぞれステップS18へ進む。
【0044】ステップS18では、データ線461上に
出力されている読み飛ばしレベルMの値をチェックす
る。そして、M≠“0”であれば、読み飛ばしを続行す
るためにそのまま次の要素の処理へ進む。また、M=
“0”であれば、読み飛ばしを終えたので、制御線41
3上の制御信号により演算レベルカウント手段44の演
算レベルLを−1せしめ(S19)、L=“0”になれ
ば処理を終了する(S20)。他方、L≠“0”であれ
ば、制御線415上の制御信号により読み飛ばし状態保
持手段45の読み飛ばし状態値Fを“0”にせしめ(S
21)、次の要素の処理に移行する。
【0045】次に、再び図1を参照して、残りの中間状
態格納手段47と中間状態設定手段48について説明す
る。
【0046】評価中の論理式の長さがベクトルレジスタ
3の最大ベクトル長を超える場合、1回の演算では論理
式全体の評価を行うことができないため、論理式を最大
ベクトル長の範囲内で分割して順次評価を進めていく必
要がある。
【0047】このとき論理式の或る部分までの評価を完
了し、次の最大ベクトル長分の論理式を主記憶部1から
ベクトルレジスタ3にロードし当該論理式の評価を開始
するまでに、タイムスライスで動作中の他のプロセスが
論理式評価演算器4を使用する場合、そのまま新しいプ
ロセスに論理式評価演算器4を引き渡すと旧プロセスの
論理式の評価の途中状態が破壊されてしまう。
【0048】図1の中間状態格納手段47は、上記のよ
うな論理式評価の途中状態の破壊を防止するため、ベク
トルレジスタ3にロードされた分の論理式の評価が完了
した時点で、演算レベルカウント手段44の演算レベル
L,読み飛ばし状態保持手段45の読み飛ばし状態値F
および読み飛ばしレベルカウント手段46の読み飛ばし
レベルMを、評価値保持手段43に保持されている論理
式の評価値LGEVALと共に制御手段41から制御線
411に出された制御信号によって命令で指定されたベ
クトルレジスタ3に格納するものである。なお、論理式
全体の評価が完了した場合の評価値保持手段43の評価
値LGEVALは中間値ではなく、評価してきた論理式
の最終評価値となることは言うまでもない。
【0049】そして、図1の中間状態設定手段48は、
中間状態格納手段47がベクトルレジスタ3に格納した
評価演算の途中状態を続きの演算を開始するのに先立
ち、制御手段41からの制御線416上の制御信号によ
ってベクトルレジスタ3からデータ線401を介して読
み込み、論理式の評価値LGEVALはデータ線481
を介して評価値保持手段43に、演算レベルLはデータ
線482を介して演算レベルカウント手段44に、読み
飛ばし状態値Fはデータ線484を介して読み飛ばし状
態保持手段45に、読み飛ばしレベルMはデータ線48
3を介して読み飛ばしレベルカウント手段46に、それ
ぞれ再セットするものである。
【0050】図3は制御手段41のハードウェア構成例
を示すブロック図であり、特に、入力した論理式の要素
の種別を判定する部分の好ましい実施例を示す。
【0051】図3において、51a,51b,…,51
nは入力した論理式の要素の種別を判定する場合の判定
基準になるデータを格納するレジスタであり、図3
(a)に示す制御手段41ではレジスタ51a,51
b,…,51nの入力手段は図示されていないが、装置
の初期化時にスキャンパスによって判定用の基準データ
を各レジスタ51a,51b,…,51nにセットする
ことができるようになっている。
【0052】また、図3(b)に示す制御手段41で
は、判定基準データ用の入力線501を通じて装置で動
作中のプログラムによって発行された命令によって判定
用の基準データをレジスタ51a,51b,…,51n
にセットすることができるようになっている。即ち、図
3(b)においてはレジスタ51a,51b,…,51
nはソフトウェアビジブルなレジスタとして構成されて
いる。
【0053】図3(a),(b)何れの制御手段41に
おいても、データ線401を通じて入力した論理式の各
要素とレジスタ51a,51b,…,51nの基準デー
タとを比較器52a,52b,…,52nで比較し、こ
れらの比較器52a,52b,…,52nでの比較結果
から制御信号生成部53で前述した図2の制御フローに
基づき制御信号を生成して制御線410〜416ヘ出力
する。
【0054】次に、以下のような論理式を例にして、本
実施例の論理式評価演算器4の動作を説明する。 (1(1v0)(1 0)) …(1)
【0055】なお、上記論理式(1)において、“v”
はオア演算子を、“(”,“)”は演算レベルをそれぞ
れ指定し、演算子の省略はアンド演算子を意味してい
る。また、このような論理式(1)はベクトルデータの
形式で主記憶部1に格納されているものとする。
【0056】先ず、論理式の演算に先立ち主記憶部1に
格納されている評価すべき論理式(1)をベクトルレジ
スタ3にロードしておく。このロードは主記憶部1に格
納されている論理式をベクトルデータとして扱い通常の
ベクトルロード命令で実行する。
【0057】図4はベクトルレジスタ3に格納された論
理式(1)のベクトルデータの構成を示す。同図に示す
ように、論理式(1)は、ベクトル要素A(0)〜A
(11)の12要素からなるベクトルデータAとして表
現されている。先頭のベクトル要素A(0)は論理式
(1)の先頭の要素“(”に対応するもので、予
め“(”に対応付けた数値が入っている。同様に以下の
ベクトル要素A(1)〜A(11)は論理式(1)の2
番目以降の要素“1”〜“)”に対応するもので、それ
ぞれ各要素種別に対応付けた数値が入っている。
【0058】なお、論理式(1)の各要素の種別に対応
付けた数値は判定用の基準データとして、図3の制御手
段41のレジスタ51a〜51nにも事前にセットされ
ているものである。また、本実施例では演算の開始時に
おいても中間状態設定手段48が動作する構成を採用し
ているため、演算の初期状態に対応する評価値LGEV
AL=“1”,演算レベルL=“0”,読み飛ばし状態
値F=“0”,読み飛ばしレベルM=“0”をベクトル
レジスタ3に事前に設定している。
【0059】さて、図1において、図示しない命令処理
部により論理式評価演算器4が起動されると、最初に中
間状態設定手段48は制御手段41からの制御線416
による制御信号に従い、上述した演算の中間状態をベク
トルレジスタ3からデータ線401を通じて読み出し、
データ線481〜484を介して評価値保持手段43,
演算レベルカウント手段44,読み飛ばしレベルカウン
ト手段46および読み飛ばし状態保持手段45に、それ
ぞれ値“1”,“0”,“0”,“0”をセットする。
【0060】次に制御手段41は、図3の制御フローに
従った制御を開始し、ベクトルレジスタ3に格納された
論理式の各要素を順次にデータ線401を通じて読み込
み、この読み込んだ要素と内部のレジスタ51a〜51
nに持っている論理要素判定用の基準データとを比較器
52a〜52nで比較し、その比較結果から制御信号生
成部53で各部への制御信号を生成し制御線410〜4
16に出力していくことにより、論理式(1)の評価を
進める。具体的には、以下のような動作が行われる。
【0061】最初の要素は“(”であり、読み飛ばし状
態値Fは“0”であるので、制御手段41は図2のステ
ップS2,S3,S4を経てステップS8に進み、制御
線413を通じて演算レベルカウント手段44に対し演
算レベルLを+1するよう指示し、これを受けて演算レ
ベルカウント手段44は演算レベルLを+1し、“1”
とする。次に、評価値LGEVAL≠“0”なので、制
御手段41は次の要素の処理に進む。
【0062】次の要素は“1”であり、読み飛ばし状態
値Fは“0”なので、制御手段41は図2のステップS
2,S3を経てステップS14へ進み、制御線412を
通じて評価値演算手段42と評価値保持手段43とに対
し必要な指示を送出し、この指示に応答して評価値演算
手段42はデータ線401に出力されているLG(I)
(今の場合は“1”)と評価値保持手段43からデータ
線431に出力されている評価値LGEVAL(今の場
合は“1”)とでLGEVAL=LGEVAL*LG
(I)の演算を実行してその結果をデータ線421に出
力し、評価値保持手段43はデータ線421に出力され
た演算結果を新たな評価値LGEVAL(今の場合は
“1”)として保持する。
【0063】次の要素は“(”であり、読み飛ばし状態
値Fは“0”なので、制御手段41は図2のステップS
2,S3,S4を経てステップ8に進み、制御線413
を通じて演算レベルカウント手段44に対し演算レベル
Lを+1するよう指示し、これを受けて演算レベルカウ
ント手段44は演算レベルLを+1し、“2”とする。
そして評価値LGEVAL≠“0”なので、制御手段4
1は次の要素の処理に進む。
【0064】次の要素は“1”であり、読み飛ばし状態
値Fは“0”なので、制御手段41は図2のステップS
2,S3を経てステップS14へ進み、制御線412を
通じて評価値演算手段42と評価値保持手段43とに対
し必要な指示を送出し、この指示に応答して評価値演算
手段42はデータ線401に出力されているLG(I)
(今の場合は“1”)と評価値保持手段43からデータ
線431に出力されている評価値LGEVAL(今の場
合は“1”)とでLGEVAL=LGEVAL*LG
(I)の演算を実行してその結果をデータ線421に出
力し、評価値保持手段43はデータ線421に出力され
た演算結果を新たな評価値LGEVAL(今の場合は
“1”)として保持する。
【0065】次の要素は“v”であり、読み飛ばし状態
値Fは“0”なので、制御手段41は図2のステップS
2,S3,S4を経てステップS5に進み、評価値保持
手段43からデータ線431に出力されている評価値L
GEVALの値が“0”でない、即ち“1”であること
を判定する。これにより、ステップS7へ進み、演算レ
ベルカウント手段44からデータ線441に出力されて
いる演算レベルLが“0”か否かを判定し、今の場合演
算レベルLは“2”であり、“0”でないので、ステッ
プS10,S11を実行して制御線414,415を通
じて読み飛ばしレベルカウント手段46,読み飛ばし状
態保持手段45に必要な指示を出す。これにより、読み
飛ばしレベルカウント手段46は読み飛ばしレベルMを
“1”にセットし、読み飛ばし状態保持手段45は読み
飛ばし状態値Fを“1”にセットする。
【0066】即ち、ここまでの論理式の評価値LGEV
ALは“1”であり、続くオペレーションがオア(O
R)であるため、オア演算子“v”の右側の項すなわち
第2被演算データの値が“0”であっても“1”であっ
ても評価値は“1”となるため、オア演算子“v”の第
2被演算データにあたる論理式部分を読み飛ばす状態に
するものである。
【0067】次の要素は“0”であり、読み飛ばし状態
値Fが読み飛ばし状態を示す“1”であるため、制御手
段41はステップS2,S15を経てステップS18へ
進み、さらに読み飛ばしレベルカウント手段46からデ
ータ線461に出力されている読み飛ばしレベルMが
“1”で“0”でないので、次の要素の処理に移る。
【0068】次の要素は“)”であり、読み飛ばし状態
値Fが読み飛ばし状態を示す“1”であるため、制御手
段41はステップS2,S15を経てステップS17へ
進み、制御線414により読み飛ばしレベルカウント手
段46に対し読み飛ばしレベルMを−1するよう指示す
る。これに応答して読み飛ばしレベルカウント手段46
が読み飛ばしレベルMを−1する。この結果、M=
“0”となるので、制御手段41はこれを次のステップ
S18で検出し、読み飛ばしを終えたことを認識する。
これにより制御手段41は、制御線413により演算レ
ベルカウント手段44の演算レベルLを−1せしめて
“1”にし、L≠“0”なのでステップS20からステ
ップS21へ移行し、ここで制御線415により読み飛
ばし状態保持手段45の読み飛ばし状態値Fを“0”に
リセットせしめて、次の要素の処理に移る。
【0069】次の要素は“(”であり、読み飛ばし状態
値Fは“0”なので、制御手段41は図2のステップS
2,S3,S4を経てステップ8に進み、制御線413
を通じて演算レベルカウント手段44に対し演算レベル
Lを+1するよう指示し、これを受けて演算レベルカウ
ント手段44は演算レベルLを+1し、“2”とする。
そして評価値LGEVAL≠“0”なので、制御手段4
1は次の要素の処理に進む。
【0070】次の要素は“1”であり、読み飛ばし状態
値Fは“0”なので、制御手段41は図2のステップS
2,S3を経てステップS14へ進み、制御線412に
より、評価値演算手段42にデータ線401に出力され
ているLG(I)(今の場合は“1”)と評価値保持手
段43からデータ線431に出力されている評価値LG
EVAL(今の場合は“1”)とでLGEVAL=LG
EVAL*LG(I)の演算を実行せしめ、評価値保持
手段43にデータ線421に出力された演算結果を新た
な評価値LGEVAL(今の場合は“1”)として保持
せしめる。
【0071】次の要素は“0”であり、読み飛ばし状態
値Fは“0”なので、制御手段41は図2のステップS
2,S3を経てステップS14へ進み、制御線412に
より、評価値演算手段42にデータ線401に出力され
ているLG(I)(今の場合は“0”)と評価値保持手
段43からデータ線431に出力されている評価値LG
EVAL(今の場合は“1”)とでLGEVAL=LG
EVAL*LG(I)の演算を実行せしめ、評価値保持
手段43にデータ線421に出力された演算結果を新た
な評価値LGEVAL(今の場合は“0”)として保持
せしめる。
【0072】次の要素は“)”であり、読み飛ばし状態
値Fは“0”なので、制御手段41は図2のステップS
2,S3,S4を経てステップS12へ進み、制御線4
13による制御信号により演算レベルカウント手段44
に演算レベルLを−1せしめて“1”とし、L≠“0”
なので、次の要素の処理に移る。
【0073】次の要素も“)”であり、読み飛ばし状態
値Fは“0”なので、制御手段41は図2のステップS
2,S3,S4を経てステップS12へ進み、制御線4
13による制御信号により演算レベルカウント手段44
に演算レベルLを−1せしめて“0”とする。そして、
L=“0”となったので、この時点で論理式の評価を完
了する。
【0074】論理式の評価が完了すると、制御手段41
は制御線411を通じて中間状態格納手段47に対し中
間状態値の格納を指示すると共にその格納に必要な制御
信号を制御線410を通じてベクトルレジスタ3に出力
する。中間状態格納手段47は、上記の指示を受けるこ
とにより、データ線431,441,461,451上
のデータを中間状態値(この場合は完了値)としてベク
トルレジスタ3に格納する。以上で全ての演算動作を終
了する。
【0075】このように本実施例の論理式評価演算器4
では、論理式をベクトルデータとして扱いハードウェア
で連続的に処理することにより、論理式の評価を高速に
実行している。一般に、長さが30程度の論理式では従
来のソフトウェアで処理する場合に比べ7倍程度,さら
に論理式の長さが長くなり100程度になると更に効果
は顕著になり15倍から20倍の性能を達成することが
できた。
【0076】
【発明の効果】以上説明した本発明の論理式評価演算器
によれば、以下のような効果を得ることができる。
【0077】論理式をベクトルデータとして扱い、ベク
トルレジスタに格納されたベクトルデータ形式の論理式
を連続して順次に読み出しハードウェアで連続的に処理
を行うので、従来のようにソフトウェアで処理し然もス
カラ処理していた場合に比べ遥かに高速に論理式の評価
を行うことができる。
【0078】中間状態設定手段および中間状態格納手段
を備えたことにより、ベクトルレジスタの最大ベクトル
長を超える長さの論理式を複数に分割して処理すること
ができる。
【0079】論理式の構成要素の種別を判定する基準デ
ータを保持する制御手段内のレジスタにスキャンパスを
通じてシステム初期化時に任意の値を設定でき、またソ
フトウェア命令によって運用中に任意の値を設定できる
ので、実行させるプログラムに応じて論理式評価演算器
を初期化したり、運用中に論理式評価演算器の機能を変
更することができる。
【図面の簡単な説明】
【図1】本発明を適用した情報処理装置の一例を示すブ
ロック図である。
【図2】制御手段の制御内容の一例を示すフローチャー
トである。
【図3】制御手段のハードウェア構成例を示すブロック
図である。
【図4】ベクトルレジスタに格納された論理式のベクト
ルデータの構成を示す図である。
【符号の説明】 1…主記憶部 2…ベクトル演算部 3…ベクトルレジスタ 4…論理式評価演算器 41…制御手段 42…評価値演算手段 43…評価値保持手段 44…演算レベルカウント手段 45…読み飛ばし状態保持手段 46…読み飛ばしレベルカウント手段 47…中間状態格納手段 48…中間状態設定手段 51a〜51n…論理要素判定用の基準データを格納す
るレジスタ 52a〜52n…比較器 53…制御信号生成部
フロントページの続き (56)参考文献 特開 平1−120629(JP,A) 特開 昭63−214804(JP,A) 特開 昭55−69857(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 17/10 G06F 17/16 JICSTファイル(JOIS)

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 評価中の論理式の中間評価値を保持する
    評価値保持手段と、 該評価値保持手段に保持された中間評価値と論理単位元
    の値とを演算する評価値演算手段と、 評価中の論理式のネスティングの深さをカウントする演
    算レベルカウント手段と、 読み飛ばし状態であるか否かを保持する読み飛ばし状態
    保持手段と、 読み飛ばし状態中の論理式のネスティングの深さをカウ
    ントする読み飛ばしレベルカウント手段と、 ベクトルデータの形式でベクトルレジスタに格納された
    論理式の構成要素を連続して順次に読み出し、該読み出
    した個々の構成要素の種別の判定結果と前記各手段の現
    在の状態とに基づいて、実際の演算が不要となる演算子
    の第2被演算データにあたる論理式部分を読み飛ばしな
    がら前記ベクトルデータ形式の論理式の評価を進めるの
    に必要な制御信号を発生して前記各手段に送出する制御
    手段とを備えた論理式評価演算器。
  2. 【請求項2】 前記ベクトルレジスタに格納された論理
    式の評価を完了した時点で、前記演算レベルカウント手
    段に保持されている演算レベル情報,前記読み飛ばし状
    態保持手段に保持されている読み飛ばし状態情報,前記
    読み飛ばしレベルカウント手段に保持されている読み飛
    ばしレベル情報とを、前記評価値保持手段に保持されて
    いる中間評価値と共に前記ベクトルレジスタに格納する
    中間状態格納手段と、 演算開始時に、前記ベクトルレジスタに格納された演算
    中間状態である演算レベル情報,読み飛ばし状態情報,
    読み飛ばしレベル情報を中間評価値と共に読み込み、前
    記演算レベルカウント手段,前記読み飛ばし状態保持手
    段,前記読み飛ばしレベルカウント手段,前記評価値保
    持手段にセットする中間状態設定手段とを備えた請求項
    1記載の論理式評価演算器。
  3. 【請求項3】 前記制御手段は読み出した論理式の構成
    要素の種別を判定する基準データを保持するレジスタを
    備え、該レジスタはスキャンパスを通じて又はソフトウ
    ェア命令によって任意の値の設定が行える構成を有する
    請求項2記載の論理式評価演算器。
JP32116591A 1991-11-08 1991-11-08 論理式評価演算器 Expired - Fee Related JP2845650B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP32116591A JP2845650B2 (ja) 1991-11-08 1991-11-08 論理式評価演算器
US08/465,902 US5553309A (en) 1991-11-08 1995-06-06 Device for high speed evaluation of logical expressions and high speed vector operations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32116591A JP2845650B2 (ja) 1991-11-08 1991-11-08 論理式評価演算器

Publications (2)

Publication Number Publication Date
JPH05135090A JPH05135090A (ja) 1993-06-01
JP2845650B2 true JP2845650B2 (ja) 1999-01-13

Family

ID=18129531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32116591A Expired - Fee Related JP2845650B2 (ja) 1991-11-08 1991-11-08 論理式評価演算器

Country Status (1)

Country Link
JP (1) JP2845650B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100683473B1 (ko) * 2006-07-21 2007-02-16 주식회사 삼우공간건축사사무소 공동주택용 다기능 발코니 난간구조

Also Published As

Publication number Publication date
JPH05135090A (ja) 1993-06-01

Similar Documents

Publication Publication Date Title
EP0118781A2 (en) Control flow parallel computer system
JP2883784B2 (ja) マイクロコンピュータ
US4251859A (en) Data processing system with an enhanced pipeline control
US4254461A (en) Method and apparatus for determining linking addresses for microinstructions to be executed in a control memory of a data-processing system
US11068463B2 (en) System and method for managing log data
JP3144950B2 (ja) 論理シミュレーション方式
JP2845650B2 (ja) 論理式評価演算器
JP2525492B2 (ja) プログラマブルコントロ―ラ
US5542080A (en) Method for controlling execution of data driven type information processor
US5592655A (en) Logic simulation method
JPH0233173B2 (ja)
JP2912067B2 (ja) 調速処理装置及びデバッグ装置
JP2568657B2 (ja) データ駆動型マイクロプロセッサにおけるハッシュ衝突回避方法
JP2924392B2 (ja) マイクロコンピュータシステム
JP3057797B2 (ja) ファジィ演算装置
JPS61240341A (ja) マイクロプログラム制御装置
JP3140028B2 (ja) サブルーチンの引数の受け渡し方式
JP3708560B2 (ja) データフロー型情報処理装置
JP2626549B2 (ja) 水平型マイクロプログラム最適化方法およびその装置
JP3011980B2 (ja) 検査系列生成方法
JPS59188900A (ja) デ−タ処理装置
JPS6238748B2 (ja)
JPH08328879A (ja) タスク管理方式
JPS5949643A (ja) デ−タ処理装置
JPH02217935A (ja) デバッグ用割込み発生回路

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350