JPH06100970B2 - 演算制御装置 - Google Patents

演算制御装置

Info

Publication number
JPH06100970B2
JPH06100970B2 JP63071525A JP7152588A JPH06100970B2 JP H06100970 B2 JPH06100970 B2 JP H06100970B2 JP 63071525 A JP63071525 A JP 63071525A JP 7152588 A JP7152588 A JP 7152588A JP H06100970 B2 JPH06100970 B2 JP H06100970B2
Authority
JP
Japan
Prior art keywords
instruction
data
data type
code
stack
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
Application number
JP63071525A
Other languages
English (en)
Other versions
JPH01243126A (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.)
Fuji Electric Co Ltd
Original Assignee
Fuji 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP63071525A priority Critical patent/JPH06100970B2/ja
Publication of JPH01243126A publication Critical patent/JPH01243126A/ja
Publication of JPH06100970B2 publication Critical patent/JPH06100970B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、関数型で記述されたプログラムの中間言語を
直接実行する演算制御装置に関する。
(従来の技術) 従来この種の演算制御装置は、例えば第4図に示すよう
に構成されている。すなわち同図において、演算制御装
置は、プログラムの中間言語を演算部200′が実行可能
な形式に展開する構文解析部100′と、その展開された
実行形式の命令(マクロ命令)により演算を行う演算部
200′とから構成されている。
このうち構文解析部100′は、機械語化された中間言語
のプログラムが格納されるプログラムメモリ101と、そ
のプログラムのアドレスを指定するプログラムカウンタ
102と、プログラムメモリ101から読み出された命令が格
納される命令レジスタ103と、演算部200′によって直接
実行可能な形式の命令に展開するための制御を行うマク
ロ命令制御部104と、命令の実行順序を制御するための
命令スタック109′と、そのポインタとしての命令スタ
ックポインタ110と、実行形式の命令が格納されるマク
ロ命令レジスタ111′と、マクロロジックバス112とから
なっている。なお、マクロ命令レジスタ111′は、デー
タが格納されるデータ部111bと命令コードが格納される
命令コード部111cとから構成されている。
一方、演算部200′は、前記命令コード部111cに接続さ
れたマイクロプログラム制御部201と、前記データ部111
bに接続されて論理アドレスから物理アドレスへの変換
を行うアドレス変換部202と、データメモリ203と、算術
演算部(ALU)204と、データスタック205と、そのポイ
ンタとしてのデータスタックポインタ206と、算術演算
部204及びデータメモリ203間でデータの授受を行うデー
タバス207と、マイクロロジックバス208とからなってい
る。
ここで、命令スタック109′及び命令スタックポインタ1
10、並びにデータスタック205及びデータスタックポイ
ンタ206は、何れもLIFO(last−in first−out)スタッ
クを構成している。
次に、この動作を説明する。まず、構文解析部100′の
動作を第5図のフローチャートに沿って説明すると、始
めに、マクロ命令制御部104により、マクロロジックバ
ス112を通してプログラムカウンタ102にプログラムアド
レスの初期値をセットし(ステップS1)、このアドレス
に従ってプログラムメモリ101から取り出した一語の命
令を命令レジスタ103に格納する(同S2)。
次いで、命令レジスタ103の内容を解析し(同S3)、こ
れが命令の場合にはマクロ命令レジスタ111′の命令コ
ード部111c及び命令スタック109′に格納し(同S41)、
プログラムカウンタ102をインクリメント(+1)して
(同S5)次の一語の構文解析に移る。また、命令レジス
タ103の内容がオペランドの場合には、命令レジスタ103
の内容をデータ部111bに格納し(同S42)、命令スタッ
ク109′の先頭の命令を読み出して命令コード部111cに
格納した後(同S43)、演算部200′に対して演算処理の
起動をかけ(同S44)、その後、プログラムカウンタ102
をインクリメントする(同S5)。
なお、次の命令の処理は、演算部200′の演算処理が終
了し次第、プログラムメモリ101から命令を取り出し、
上記の処理が命令順に繰返し実行される。
そして演算部200′においては、まず、マイクロプログ
ラム制御部201がマクロ命令レジスタ111′の命令コード
部111cから命令コードを読み出してデコードすると共
に、この命令が、データ部111bの内容をアドレスとした
データメモリ203からの読み出し命令であれば、アドレ
ス変換部202を介してデータメモリ203からデータを読み
出し、かかるデータをデータバス207及び算術演算部204
を介してデータスタック205に書き込む。
また、前記命令が、データ部111bの内容をアドレスとし
た書き込み命令であるならば、上記とは逆にデータスタ
ック205から算術演算部204及びデータバス207を介して
アドレス変換部202の示すデータメモリ203のアドレスへ
データを書き込む。
そして、算術演算部204は、データスタック205内のデー
タ同士の算術論理演算をも行う。
次に、具体的な演算例に従い、マクロ命令制御部104及
び算術演算部204の働きを、命令・データぞれぞれのLIF
Oスタックの動作を中心として説明する。
いま、関数型の演算例として次の(1)式を考え、この
(1)式をポーランド記法を用いて(2)式のように展
開する。
f=A÷B×(C+D) …………(1) そして、第4図のプログラムメモリ101には、この
(2)式が機械語に展開されて第6図に示す順序〜
で格納されているとする。なお、この順序〜は構文
解析部100′による処理順序でもあり、以後は各処理自
体も番号〜によって表すものとする。
以下、上記処理〜毎に、命令スタック109′及びデ
ータスタック205の作用を、第7図に基づいて説明す
る。
まず、処理,,は命令コードの読み出しであるた
め、これらの命令は前述した如く命令コード111cに格納
され、同時に命令スタック109′にそれぞれプッシュダ
ウンして格納される。また、処理,,はオペラン
ドであるため、これらのオペランドを評価した上で、前
述の如く最終的にデータスタック205にプッシュダウン
して格納される。ここで、“評価する”とは、オペラン
ドが定数であればそのままの値として、アドレスであれ
ばそのアドレスの示す内容を読み取って値として扱うこ
とをいう。
更に、処理は処理に続いてオペランドが読み取られ
たもので、オペランドを評価した上でデータスタック20
5の先頭のデータ(最後にスタックされたもの)と、命
令スタック109′の先頭の命令(同)とを用いて算術演
算部204にて演算を行い、その演算結果を再びデータス
タック205に格納する。なお、第7図の処理における
データスタック205の内容f1は、演算の途中経過であるf
1=C+Dを示している。
次いで、処理,,は、対応する命令の処理の終わ
りを示すもので、命令スタック109′の先頭の命令をポ
ップアップした後、この先頭の命令演算をデータスタッ
ク205の先頭のデータとその次に格納されたデータとを
用いて行い、その演算結果をデータスタック205をポッ
プアップした後に再び格納する。なお、第7図の処理
におけるデータスタック205の内容f2は演算の途中経過
であるf2=B×f1を示し、処理におけるfはf=A÷
f2、つまり(1)式の解を示している。
以下の動作により、(1)式の演算処理が終了すること
になる。
(発明が解決しようとする課題) ここで、(1)式におけるデータA,B,C,Dの型が異な
り、これらを用いて演算処理を行う場合には、以下の点
に留意する必要がある。具体的には、A,B,Dが整数値、
Cが浮動少数点値というように異なるデータ型で与えら
れた場合には、(1)式を、データ型を変換する命令及
び特定なデータ型を対象とする命令に置き換えてプログ
ラムしなければならない。
すなわち、第8図(イ)に示すようにデータCとDから
C+Dの演算を行ってf1を求め、このf1とデータBとか
らB×f1の演算を行ってf2を求め、このf2とデータAと
からA÷f2の演算を行って解fを求める演算処理を行う
場合、このようにデータ型が異なると、第8図(ロ)ま
たは(ハ)に示す如くデータ型を何れか一方に合わせる
変換命令を挿入する必要が生じる。なお、第8図(イ)
〜(ニ)において、データA〜D及び演算結果f1,f2,f
はデータメモリ203またはデータスタック205に格納され
た状態である。
まず、第8図(ロ)はデータ型を浮動少数点値に統一す
るべく、データA,B,Dを浮動少数点値に変換する命令“I
/F"を挿入し、その後、浮動少数点値を対象とした演算
に置き換える処理を示している。この図において、
“a",“b",“d"はそれぞれ浮動少数点値に変換後のデー
タA,B,Dを、“+F",“×F",“÷F"はそれぞれ浮動少数
点演算による加算,乗算,除算を示す。また、データa,
b,dはデータメモリ203またはデータスタック205に格納
された状態である。
一方、第8図(ハ)はデータ型を整数値に統一するべ
く、データCを整数値に変換する命令“F/I"を挿入し、
その後、整数値を対象とした演算に置き換える処理であ
り、この図において、“”は整数値に変換後のデータ
Cを、“+",“×",“÷”はそれぞれ整数演算による加
算,乗算,除算を示す。
更に、第8図(ニ)は、何れか一方のデータ型に統一し
て処理するのではなく、各データがそれぞれ値とデータ
型を持ち、演算の際にデータ型を評価して演算処理を行
うものであり、演算結果として同様に値とデータ型を出
力し、これをスタックして次の演算に移行するものであ
る。この図において、データA,B,C,D及び演算結果f1,f
2,fに付された“I",“F"はそれぞれ整数値,浮動少数点
値のデータ型を示している。なお、この方式により、先
の第7図の処理を行った時点でのデータスタック205
の内容は第9図のとおりとなり、各データについて各々
のデータ型“I"または“F"がそれぞれ格納されることに
なる。
ここで、上述した第8図(ロ),(ハ)のように、デー
タは値だけで命令が特定のデータ型のみを対象とした演
算種類を持つ場足には、以下のような問題がある。つま
りこの場合には、プログラマが、データ型を意識しなが
らデータ型変換命令の記述と当該データ型に応じた演算
命令の選択とを行ってプログラミングしなければなら
ず、演算命令もデータ型の種類に応じた数だけ用意しな
くてはならないため、プログラミングが極めて煩雑とな
る。また、演算制御装置においても複数のデータ型分の
命令処理が必要となり、命令の構文解析部及び演算部の
ハードウェア,ファームウェア処理が増大してしまう。
更に、第8図(ニ)のように、データに値とデータ型を
持ち、演算の際にデータ型を評価して演算処理を行う場
合には、第9図に示した如く、演算に際して、データス
タック205からデータ型を取り出してその変換の要否を
判断した後に実際の演算を行い、また、演算結果f1
f2,fも値とデータ型とを有するため、演算結果を評価す
る際にデータ型を認識する時間を必要としてデータの処
理時間が多くかかるという不都合がある。同時に、デー
タ型を記憶するためデータスタック205のメモリ容量を
多く必要としていた。
本発明は上記問題点を解決するために提案されてもので
あり、その目的とするところは、異なるデータ型同士の
演算において、データ型を意識することなくプログラミ
ングを行うことができ、プログラマや演算制御装置のハ
ードウェア等の負担を軽減できると共に、演算結果にデ
ータ型を含ませず値のみを持たせることにより、データ
スタックのメモリ効率を高め、かつ、演算結果の評価に
要する時間を短縮して演算処理速度の大幅な向上を可能
にした演算制御装置を提供することにある。
(課題を解決するための手段) 上記目的を達成するため、本発明は、関数型で記述され
たプログラムの中間言語を直接実行する演算制御装置に
おいて、中間言語の構文解析部に、プログラムの演算命
令を構成するオペランドのデータ型を判断してこのオペ
ランドが処理されるべきデータ型への変換方法を示す制
御コードと、前記オペランドを用いた演算結果のデータ
型を示すデータ型コードとを発生する手段と、演算順序
を制御し、かつ前記データ型コード及び演算命令の命令
コードからなるデータ型付命令をスタックする命令スタ
ック等の記憶手段とを備え、前記データ型付命令を次の
演算の命令として実行することを特徴とする。
(作用) 本発明によれば、オペランドのデータ型と型付命令のデ
ータ型とに基づき、データ型の変換方法を示す制御コー
ドと演算結果のデータ型を示すコードとが生成される。
このうち、前記制御コードにより必要に応じてデータ型
の変換が行われ、型付命令の命令コードに基づいて演算
が実行される。
また、前記演算結果のデータ型を示すコードは命令スタ
ックに送られ、命令コードと共に新たなデータ型付命令
としてスタックされることにより、次の命令の実行時に
受け継がれることとなる。
(実施例) 以下、図に沿って本発明の一実施例を説明する。まず、
第1図は本発明にかかる演算制御装置の構成を示したも
ので、同図において、100はプログラムの中間言語を演
算部200が実行可能な形式に展開する構文解析部、200は
マクロ命令により演算を行う演算部200である。
ここで、演算部200は、先の第4図に示したように、マ
イクロプログラム制御部201と、アドレス変換部202と、
データメモリ203と、算術演算部204と、データスタック
205と、このデータスタック205と共にLIFOスタックを構
成するデータスタックポインタ206と、算術演算部204及
びデータメモリ203間でデータの授受を行うデータバス2
07と、マイクロロジックバス208とからなっている。
次に、構文解析部100の構成を詳述する。この構文解析
部100は、前記同様に機械語化された中間言語のプログ
ラムが格納されるプログラムメモリ101と、このプログ
ラムのアドレスを指定するプログラムカウンタ102と、
プログラムメモリ101から読み出された命令が格納され
る命令レジスタ103と、演算部200によって直接実行可能
な形式の命令に展開するための制御を行うマクロ命令制
御部104と、命令の実行順序を制御するための命令スタ
ック109と、この命令スタック109と共にLIFOスタックを
構成する命令スタックポインタ110とを備えている。
しかして、プログラムメモリ101には、インストラクシ
ョンバス116を介してデータ型付命令が格納される型付
命令レジスタ113と、プログラムメモリ101から読み出さ
れた命令のオペランドが格納されるオペランドレジスタ
114とが接続されている。このうち、型付命令レジスタ1
13は、データ型を示すデータ型コードが格納されるデー
タ型部113aと、命令の種類を示す命令コードが格納され
る命令コード部113bとからなり、また、オペランドレジ
スタ114は、オペランドのデータ型を示すデータ型コー
ドが格納されるデータ型部114aと、論理アドレスまたは
直接数値が格納されるデータ部114bとからなっており、
マクロ命令制御部104からの信号がマクロロジックバス1
12を介して型付命令レジスタ113及びオペランドレジス
タ114に加えられている。
更に、111は実行形式の命令が格納されるマクロ命令レ
ジスタであり、このレジスタ111は、前記オペランドレ
ジスタ114のデータ型部114a及びデータ部114bにそれぞ
れ接続されたデータ型部111a及びデータ部111bと、型付
命令レジスタ113のデータ型部113aにデータ型変換制御
コード発生部115を介して接続され、かつ命令コード部1
13bに接続される命令コード部111cとから構成されてい
る。なお、データ部111b及び命令コード部111cはマクロ
命令制御部104にも接続されている。
ここで、データ型変換制御コード発生部115は、型付命
令レジスタ113のデータ型部113aから送られる命令のデ
ータ型コードと、オペランドレジスタ114のデータ型部1
14aから送られるオペランドのデータ型コードとを入力
とし、命令コード部111cに対するデータ型変換制御コー
ドと、命令スタック109に対する演算結果のデータ型コ
ードとを生成して出力するようになっている。
なお、命令スタック109はプログラムメモリ101と共に型
付命令レジスタ113に対しワイヤードORを構成してお
り、かかる命令スタック109には演算結果のデータ型コ
ードと型付命令レジスタ113の命令種類を示す命令コー
ドとを合成してデータ型付命令としてスタックできるよ
うに構成されている。
また、マクロ命令レジスタ111のデータ型部111a及びデ
ータ部111bは演算部200内のアドレス変換部202に接続さ
れ、オペランドのデータ型コード及びデータに基づいて
論理アドレスから物理アドレスへの変換が行われるもの
である。
次に、この実施例により先の(1)式の演算処理を行う
場合について、その動作を第2図及び第3図を参照しつ
つ説明する。
まず、第2図(イ),(ロ)はこの実施例においてプロ
グラムメモリ101に格納されている中間言語のオペラン
ドのフォーマット及び命令のフォーマットをそれぞれ示
しており、オペランドと命令とはフォーマットの最上位
ビットの“1"または“0"により識別されている。このう
ち、オペランドのフォーマットは、第2図(イ)に示す
ようにデータの型、つまり整数値や浮動小数点値といっ
た型を示すデータ型コードと論理アドレスまたは直接数
値とで構成され、各々そのままの値でオペランドレジス
タ114を経てマクロ命令レジスタ111へ送られる。
また、命令のフォーマットは、第2図(ロ)に示すよう
にデータ型コードを持たず(=0)、命令種類を示す命
令コードのみで構成され、前述した命令スタック109と
のワイヤードORにより、型付命令レジスタ113を経てマ
クロ命令レジスタ111の命令コード部111cに送られる。
この中でデータ型部113aについては、データ型変換制御
コード発生部115によりデータ型を変換する制御コード
が生成され、かかる制御コードが命令コード部111cに送
られる。なお、第2図(ハ)は、命令スタック109から
読み出された命令のフォーマットであり、このフォーマ
ットは演算結果のデータ型を示すデータ型コード及び命
令コードを有し、また、第2図(ニ)はマクロ命令レジ
スタ111の命令コード部111cのフォーマットであって、
データ型変換制御コード及び命令コードからなってい
る。
なお、第2図(イ)〜(ニ)において、各フォーマット
の下に付された記号は、これらのコード等が格納される
場所を示している。
ここで、前記ワイヤードORの制御について説明すると、
先の第6図及び第7図の処理,,は命令コードの
読み出しであるため、プログラムメモリ101が選択され
て命令コードのみが型付命令レジスタ113の命令コード
部113bに送られる。また、処理,,,は演算で
あるから命令スタック109が選択され、データ型コード
及び命令コードがデータ型部113a及び命令コード部113b
に送られる。上記制御は、マクロ命令制御部104が各処
理ごとに命令レジスタ103に取り込んだ内容に基づき、
命令か否かを判断して行う。
次に、データ型変換制御コードの生成方法について述べ
る。データ型の変換は、データ語長またはデータの表し
得る幅(データレンジ)の大きい方に合わせれば、演算
及び演算結果のデータ型を一義的に決めることができ
る。例えば、データが一語長整数値,二語長整数値及び
浮動小数点値の3種類である場合、その変換ルールは、
次の(3)式の大小関係で大きい方のデータ型に従うも
のとする。
一語長整数値<二語長整数値<浮動小数点値 …………
(3) この点に着目し、データ型変換制御コード発生部115
は、以下の表1の如く、オペランドのデータ型コード及
び型付命令のデータ型コードを入力として、データ型の
変換を示す制御コードと演算結果の型を示すコードとを
生成する。
なお、この表1において、“0"はデータ型を持つ前のプ
ログラムメモリ101に格納された状態値を、“DI"は二語
長整数を示すオペランドコードを、“SI"は一語長整数
を示すオペランドコードを、“FP"は浮動小数点値を示
すオペランドコードを、“D"は二語長データを示す型コ
ードを、“S"は一語長データを示す型コードを、“F"は
浮動小数点データを示す型コードを、“DC"はデータ型
変換なしで二語長演算を行うコードを、“SC"はデータ
型変換なしで一語長演算を行うコードを、“FC"はデー
タ型変換なしで浮動小数点演算を行うコードを、“SDC"
はオペランドのデータ型を“D"の型に変換して二語長演
算を行うコードを、“FDC"はデータスタック205上のデ
ータの“D"の型を“F"の型に変換して浮動小数点演算を
行うコードを、“DSC"はデータスタック205上のデータ
の“S"の型を“D"の型に変換して二語長演算を行うコー
ドを、“FSC"はデータスタック205上のデータの“S"の
型を“F"の型に変換して浮動小数点演算を行うコード
を、“DFC"及び“SFC"はオペランドのデータ型を“F"の
型に変換して浮動小数点演算を行うコードをそれぞれ示
している。
次に、この実施例によって先の(1)式に示した演算処
理を行う場合、特に処理,,について動作を詳述
する。
まず、処理において、データC(浮動小数点値)にか
かるオペランドが読み取られると、オペランドレジスタ
114のデータ型部114a及びマクロ命令レジスタ111のデー
タ型部111aからはデータ型コード“FP"が出力され、オ
ペランドレジスタ114のデータ部114b及びマクロ命令レ
ジスタ111のデータ部111bからは論理アドレスまたは直
接数値が出力される。このとき、型付命令レジスタ113
のデータ型部113a及び命令コード部113bには、処理の
「(+」の命令が格納されており、この命令は第2図
(ロ)に示すようにデータ型コードを持たず(=
“0")、命令コードのみを有している。
このため、データ型変換制御コード発生部115には、デ
ータ型部114aからオペランドのデータ型コード“FP"
と、データ型部113aから型付命令のデータ型コード“0"
とが入力され、先の表1に従ってデータ型の変換方法を
示す制御コード“FC"と演算結果のデータ型を示すコー
ド“F"とが出力される。このうち、制御コード“FC"は
マクロ命令レジスタ111の命令コード部111cに送られ、
また、演算結果のデータ型を示すコード“F"は命令スタ
ック109に送られて命令コードと共に次のデータ付命令
を構成する。
次いで、データD(整数値)にかかる処理によりオペ
ランドが読み取られると、例えばオペランドのデータ型
コード“DI"がデータ型部114a,111aから出力され、論理
アドレスまたは直接数値がデータ部114b,111bから出力
されると共に、データ型コード“DI"がデータ型変換制
御コード発生部115に入力され、かつ、命令スタック109
からデータ型部113aを介して演算結果のデータ型を示す
コード“F"が入力される。
従って、表1により、データ型変換制御コード発生部11
5からはデータ型の変換方法を示す制御コード“DFC"と
演算結果の型を示すコード“F"とが出力され、これらは
前記同様に命令コード部111c及び命令スタック109にそ
れぞれ送られる。ここで、制御コード“DFC"はオペラン
ドを浮動小数点データに変換して浮動小数点演算を行う
旨のコード、コード“F"は演算結果を浮動小数点データ
として得るためのコードである。
すなわち、処理,の各データC,Dはデータ型が異な
るにも拘らず、データ型変換制御コード発生部115でこ
れらのデータ型を判断し、先の(3)式の変換ルールに
従って所定の制御コード及び演算結果のデータ型を示す
コードを生成して特定のデータ型での演算処理が実行さ
れることになる。
一方、演算部200では、先のデータCについてデータ型
部111a及びデータ部111bの内容に基づきアドレス変換部
202により物理アドレスへの変換を行い、データメモリ2
03から読み出してデータスタック205に格納したデータ
と、同じくデータDについて同様の作用により読み出し
たデータとを用い、命令コード111cからの型付の命令コ
ードをマイクロプログラム制御部201によりデコードし
て算術演算部204により演算を行い、その結果(f1=C
+D)をデータスタック205に格納する。この演算結果
にはデータ型が付加されていないが、演算結果のデータ
型は、上述したように命令スタック109によって管理さ
れることになる。
なお、演算部200によって上記演算が実行されている
間、構文解析部100ではオペランドレジスタ114及び型付
命令レジスタ113等により次の命令の構文解析が並行し
て行われている。
第3図は、上述したようにオペランドのデータ型が型付
の命令として受け継がれる様子を示したものであり、図
中、符号Y1,Y2,Y3はデータ型の比較判別を行ってデー
タ型変換制御コードを生成するデータの流れ、また、符
号i,ii,iiiはデータ型が引き継がれる順序を、更に
は生成されたデータ型とデータ型付命令であることをそ
れぞれ示している。
この実施例において、マクロ命令レジスタ111を省略し
てその処理を型付命令レジスタ113及びオペランドレジ
スタ114に代行させることもできる。また、これらの型
付命令レジスタ113及びオペランドレジスタ114は構文解
析処理と演算処理とを並行して行わせるために設けられ
ており、かかる並行処理の必要がなければ省略すること
も可能である。
(発明の効果) 以上詳述したように本発明によれば、プログラムを構成
するオペランドにデータ型を示すコードを付加し、一
方、命令コードは特定なデータ型を持たない命令語の構
造とし、異なるデータ型同士の演算においてもそのデー
タ型の判別及び変換方法を示す制御コードを生成して演
算を行わせるようにしたから、データ型を意識すること
なくプログラミングを行うことができ、また、データ型
に応じた種類の命令を備える必要がないことから、プロ
グラミングやハードウェア上の負担を軽減し、しかもプ
ログラムメモリ容量の削減を図ることができる。
更に、演算結果のデータ型を示すコードを生成し、この
コードと演算の命令コードとを合成してデータ型付命令
を構成すると共に、このデータ型付命令をスタックして
次回の演算データの命令として再び実行できるようにし
たため、データ型が次命令に受け継がれることになり、
演算結果を格納するデータスタックではデータ型を除い
た値だけ格納すれば済むため、スタックのメモリ容量を
少なくすることが可能である。
従って、演算結果を評価する際にデータ型の認識のため
の処理を省くことができ、演算の処理速度が向上する等
の効果がある。
【図面の簡単な説明】
第1図ないし第3図は本発明の一実施例を示すもので、
第1図はブロック図、第2図(イ)〜(ニ)は各フォー
マットの説明図、第3図は演算処理の一例においデータ
の流れを抽象的に表現した説明図、第4図は従来例を示
すブロック図、第5図は構文解析部の動作を示すフロー
チャート、第6図はプログラムメモリの内容を示す説明
図、第7図は各処理ごとの命令スタック及びデータスタ
ックの内容を示す説明図、第8図(イ)〜(ニ)は演算
処理の一例においてデータの流れを抽象的に表現した説
明図、第9図はデータスタックの内容の説明図である。 100…構文解析部、113…型付命令レジスタ 109…命令スタック、111…マクロ命令レジスタ 111a…データ型部、111b…データ部 113a…データ型部、113b…命令コード部 114…オペランドレジスタ、114a…データ型部 114b…データ部 115…データ型変換制御コード発生部 200…演算部

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】関数型で記述されたプログラムの中間言語
    の構文を解析し、演算部により実行可能な命令を生成す
    る構文解析部を備え、前記中間言語を直接実行可能とし
    た演算制御装置において、 前記構文解析部に、前記プログラムの演算命令を構成す
    るオペランドのデータ型を判断してこのオペランドが処
    理されるべきデータ型への変換方法を示す制御コード
    と、前記オペランドを用いた演算結果のデータ型を示す
    データ型コードとを発生する手段と、 演算順序を制御し、かつ前記データ型コード及び演算命
    令の命令コードからなるデータ型付命令をスタックする
    記憶手段とを備え、 前記データ型付命令を次の演算の命令として実行するこ
    とを特徴とする演算制御装置。
JP63071525A 1988-03-24 1988-03-24 演算制御装置 Expired - Lifetime JPH06100970B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63071525A JPH06100970B2 (ja) 1988-03-24 1988-03-24 演算制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63071525A JPH06100970B2 (ja) 1988-03-24 1988-03-24 演算制御装置

Publications (2)

Publication Number Publication Date
JPH01243126A JPH01243126A (ja) 1989-09-27
JPH06100970B2 true JPH06100970B2 (ja) 1994-12-12

Family

ID=13463232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63071525A Expired - Lifetime JPH06100970B2 (ja) 1988-03-24 1988-03-24 演算制御装置

Country Status (1)

Country Link
JP (1) JPH06100970B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294480B (zh) * 2013-06-24 2016-04-06 攀枝花学院 网格行数据转化为数据列表的方法
US10001993B2 (en) 2013-08-08 2018-06-19 Linear Algebra Technologies Limited Variable-length instruction buffer management
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
EP4116819A1 (en) * 2014-07-30 2023-01-11 Movidius Limited Vector processor

Also Published As

Publication number Publication date
JPH01243126A (ja) 1989-09-27

Similar Documents

Publication Publication Date Title
EP2104033B1 (en) Single-precision floating-point data storing method and processor
JPH04260930A (ja) データ処理装置
JP2003044273A (ja) データ処理装置及びデータ処理方法
JPH1049369A (ja) データ処理装置
JPH06100970B2 (ja) 演算制御装置
US4771376A (en) Processor
JP2000137611A (ja) 特殊ミリコ―ド命令によって条件の設定およびテストを行う方法
JPH04260929A (ja) データ処理装置
JPS62226231A (ja) プロセツサ
JP3570287B2 (ja) マイクロコンピュータ
JPH04260926A (ja) ビット検索回路及びそれを備えたデータ処理装置
JP3901670B2 (ja) データ処理装置
JPH07110769A (ja) Vliw型計算機
Chmiel et al. About implementation of IEC 61131-3 IL operators in standard microcontrollers
JPH01297727A (ja) 浮動小数点演算の正規化制御方式
JPS5931733B2 (ja) 可変長さの命令を実行する中央処理装置
JPH04260928A (ja) データ処理装置
JPS6327746B2 (ja)
JP2004005738A5 (ja)
JPS6138493B2 (ja)
KR100233289B1 (ko) 레지스터 파일의 데이터 디펜던시 체크를 위한 장치
JP2554246B2 (ja) 目的モジユ−ル生成方式
JP2587407B2 (ja) マイクロプログラム制御装置
JPS59225449A (ja) 文番号変換方式
JPH0792754B2 (ja) アセンブル装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071212

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081212

Year of fee payment: 14

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081212

Year of fee payment: 14