JPH02260082A - 計算機方式 - Google Patents

計算機方式

Info

Publication number
JPH02260082A
JPH02260082A JP8268089A JP8268089A JPH02260082A JP H02260082 A JPH02260082 A JP H02260082A JP 8268089 A JP8268089 A JP 8268089A JP 8268089 A JP8268089 A JP 8268089A JP H02260082 A JPH02260082 A JP H02260082A
Authority
JP
Japan
Prior art keywords
memory
data
word
instruction
address
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
JP8268089A
Other languages
English (en)
Inventor
Hajime Seki
一 関
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP8268089A priority Critical patent/JPH02260082A/ja
Publication of JPH02260082A publication Critical patent/JPH02260082A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は電子計算機の計算方式に関するものであって、
特にデータ駆動による並列処理を行うことにより効率的
な演算の可能な計算機方式に関わる。
[従来の技術] 従夫 演算方式の異なる主な電子計算機の方式として、
ノイマン方民 データフロ一方式などがあった。
これらの内、ノイマン方式は、命中の連鎖として書かれ
たプログラムを逐次的に実行するものである。
一方、データフロ一方式の電子計算機は、各々の演算が
オペランドデータの揃った時点で実行される方式(これ
をデータ駆動方式という)となっており、効率の良い並
列動作が期待できる。
[発明が解決しようとする問題点] 上述したような、従来の各電子計算機の方式において、
ノイマン方式の電子計算機のばあいは、命令を1つずつ
逐次的に実行するので、演算制御が単純なもので済むと
いう利点があるが、基本的に別個の命令を並行して行う
ことが困難であり、さらにはメモリアクセスに要する時
間によって演算速度が制約を受けるという問題点があっ
た。
) −カ、−一ヶ、。一方式。電、計算機。場合、よ前
述のようにデータ駆動による処理を行うため、効率の良
い並列動作が期待できるものであるが、プログラムの体
系がノイマン方式におけるものと異なることなどのため
実用化に難点があった。
本発明は上記問題点を解決するため創案されたものであ
り、その目的は逆ポーランド形式で書かれたプログラム
をデータ駆動による処理を行うことによって効率的な計
算を行うことの可能な電子計算機を提供することにある
[問題点を解決するための手段] データの格納領域のアドレス、即値データ、あるいは算
術演算やデータの格納を示す演算子をプログラム要素と
呼び、 逆ポーランド形式あるし)はそれに類する形式に照らし
て意味のあるプログラム要素の並びをプログラム文と呼
ぶ。
プログラム要素には、データの格納領域のアドレス、即
値データ、演算子等の間の区別、データの格納i城のア
ドレスの場合にはオペランドデータの格納領域を示して
いるのか、それとも計算結果の格納先を示すのかの区別
、演算子の場合にはオペランドの個数の表示等を可能と
するタグが付加されているものとする。
本発明による電子計算機は以下のような特徴を有する。
(イ)プログラム文をプログラム要素単位で順次送り出
す命令s11#装置と、 連想記憶機能を有するデータメモリと、上記データメモ
リの語のアドレスが書き込まれるスタックメモリと。
演算の種類、オペランドデータな格納するデータメモリ
の語のアドレス及び演算結果の格納先となるデータメモ
リの語のアドレスを記憶するインストラクションメモリ
と、上記インストラクションメモリに書き込まれた演算
を実行する演算ユニットとを具備する。
(0)上記命令制御装置からプログラム要素が送り出さ
れる毎に以下の動作が行われる構成となっている。
プログラム要素がデータの格納領域のアドレスまたは即
値データである場合には、そのプログラム要素にデータ
メモリの1語を割り当て、そのデータメモリにおけるア
ドレスをスタックメモリに押し込む。
プログラム要素が算術演算子等の演算結果を生成する演
算子である場合には、データメモリの使用されていない
1語を演算結果の格納先として割り当てると共に、イン
ストラクションメモリの使用されていない1語を割り当
て、そのインストラクションメモリの語に演算の種類と
、スタックメモリから演算の種類に応じた数だけ取り出
したオペランドデータを格納するデータメモリの語のア
ドレスと。
上記演算結果の格納先として割り当てられたデータメモ
リの語のアドレスを書き込み、その演算結果の格納先と
なるデータメモリの語のアドレスをスタックメモリに押
し込む。
プログラム要素がデータの格納等を示す演算結果を生成
しない演算子である場合には、インストラクションメモ
リの使用されていない1語を割り当て、そのインストラ
クションメモリの語に演算の種類と、スタックメモリか
ら演算の種類に応じた数だけ取り出したオペランドデー
タを格納するデータメモリの語のアドレスを書き込む。
(八)上記インストラクションメモリにおいて、オペラ
ンドデータが全てデータメモリに書き込み済みである語
が検出されると、その語で示される演算が実行される構
成となっている。
また、従来のノイマン型プロセッサがそのジョブの一部
を、前記電子計算機にプログラム文の実行を委託するこ
とにより、実現させることが可能である。
[作用コ 本発明に係わる電子計算機においては、以下に述べる動
作がそれぞれ並行して行われる。
命令制御装置から、逆ポーランド形式あるいはそれに類
する形式で書かれたプログラム文が送り出されると、ス
タックメモリを利用して1、データメモリの各語をオペ
ランドデータの格納域とする個々の命令の集合に変換さ
れて、インストラクションメモリに格納される。
データメモリにおいて、記憶装置等から変数名と共に対
応するデータが送信されてくると連想記憶機能により変
数名の一致する語にデータが書き込まれる。 (本明細
書では、 「変数名」をプログラム要素で示されるデー
タの格納領域のアドレスの意味で用いる。) インストラクションメモリにおいて、オペランドデータ
が全てデータメモリに書き込み済みとなり命令の実行が
可能となった語が検出されると。
その語で示される演算が実行される。
インストラクションメモリの各語で示さ、れる命令の実
行の後に、命令が格納されていたインストラクションメ
モリの語は以後の使用のために解放される。
オペランドデータが格納されていたデータメモリの語は
、インストラクションメモリのオペランドフィールドに
よって引用されることがなくなると以後の使用のために
解放される。
[実施例] 第1図は本発明の一実施例のブロック図であって、1は
命令$制御装置、2は演算装置、3は記憶装置、4はス
タックメモリ、5はデータメモリ、6はインストラクシ
ョンメモリ、7は演算ユニットを表している。
なお、演算ユニットは、演算器をパイプライン化したり
、演算器を複数個有しそれらが並列に動作できる構成と
することが可能である。
以下に本実施例の各構成要素ごとにその詳細な構成を説
明する。
(A)  命令制御装置 命令制御装置はプログラム文をプログラム要素単位で演
算装置へ送出する。
演算装置において、データメモリ、インストラクション
メモリのいずれかが溢れそうになった場合には命令制御
装置に通知され、プログラム文の送出は中断される構成
となっている。上記の条件が解消されると再び演算装置
から命令制御装置に通知され、プログラム文の送出は再
開される。
(B)  スタックメモリ スタックメモリはデータメモリにおける語のアドレスが
書き込まれる構成となっている。
(C)  データメモリ fJ2図は、データメモリの詳細な構成を示す説明図で
ある。データメモリ5は51.52〜の会話から構成さ
れており、そのそれぞれの語は照合フィールド511,
521〜 データフィールド512.522〜 及びデ
ータ制御フィールド513.523〜から成っている。
照合フィールドには変数名(あるいはデータの格納領域
のアドレス)が書き込まれ、デー、タフイールドには即
値データ、あるいは照合フィールドに書き込みがあれば
その内容に対応するデータ等が書き込まれる。
データメモリは、照合フィールドで変数名を比較して、
その一致する語のデータフィールドにデータの書き込み
を行うような連想記憶機能を有する。
データ制御フィールドは、各々の語が使用中であるか、
データフィールドにデータの書き込みが終了しているか
どうかとりうような1!御情報等の格納域である。
(D)  インストラクションメモリ インストラクションメモリは、逆ポーランド形式あるい
はそれに類する形式で記されたプログラム文の内容を、
データメモリの会話をオペランドデータの格納域とする
個々の命令の集合の形式で記憶するものである。
第3図は、インストラクションメモリの詳細な構成を示
す説明図である。インストラクションメモリ6は61.
62〜の会話から構成され、ており。
そのそれぞれの語はオペレーシゴンフィールド611.
621〜 第1オペランドフイールド612.622〜
 fJ2オペランドフィールド613.623〜 デス
ティネーションフィールド614゜624〜 及びイン
ストラクション+MWフィールド615.625〜から
成っている。
インストラクション制御フィールドは、各々の語につい
て、その語が使用中であるかどうかの区別、オペランド
フィールドで示されるデータメモリの語のデータフィー
ルドの書き込みの有無などの!1#g情報等の格納域で
ある。
なお1本実施例においては全ての演算子が2個以下のオ
ペランドしか持たないものとしているが、本発明はイン
ストラクションメモリのオペランドフィールドの数を増
やせば、より多くのオペランドを持つ演算子を用いるこ
とが可能である。
以下に、スタックメモリ、データメモリ、インストラク
ションメモリ等から成る演算装置の動作を説明する。
命令制御装置から変数の計算を意味するプログラム文が
送り出されると、演算装置はプログラム要素ごとに以下
のように操作される。
(a)プログラム要素が計算結果の格納先を示すアドレ
スである場合。
データメモリの使用されていない1語が割り当てられ、
その語のデータフィールドに、上記プログラム要素に示
されるアドレスを書き込み、その書き込みの行われたデ
ータメモリの語のアドレスをスタックメモリに押し込む
(b)プログラム要素がオペランドアドレスである場合
データメモリの使用されていない1語が割り当てられ、
その語の照合フィールドに、上記プログラム要素に示さ
れるオペランドアドレスを書き込み、その書き込みの行
われたデータメモリの語のアドレスをスタックメモリに
押し込む。
以上と並行して、記憶装置等に上記オペランドアドレス
に係わるデータアクセス要求が送られる。
(c)プログラム要素が即値データである場合データメ
モリの使用されていない1語が割り当てられ、その語の
データフィールドに、上記即値データを書き込み、その
書き込みの行われたデータメモリの語のアドレスをスタ
ックメモリに押し込む。
(d)プログラム要素が算術演算子等の演算結果を生成
する演算子である場合 データメモリの使用されていない1語が演算結果の格納
先として割り当てられる。
インストラクションメモリの使用されていない1語が割
り当てられ、その語のオペレーションフィールドに演算
の種類を、オペランドフィールドにスタックメモリから
演算の種類に応じた数を取り出したオペランドデータを
格納するデータメモリの語のアドレスを、デスティネー
ションフィールドに上記演算結果の格納先として割り当
てられたデータメモリの語のアドレスを書き込み、その
演算結果の格納先となるデータメモリの語のアドレスを
スタックメモリに押し込む。
(e)プログラム要素がデータの代入(あるいはデータ
の格納)を表す演算子′=′等の演算結果を生成しない
演算子である場合 インストラクションメモリの使用されていない1語が割
り当てられ、その語のオペレーションフィールドに演算
の種類を、オペランドフィールドにスタックメモリから
演算の種類に応じた数を取り出したオペランドデータを
格納するデータメモリの語のアドレスを書き込む。
データメモリに、記憶装置等から変数名と共に対応する
データが送信されてくると、連想記憶機能により照合フ
ィールドで変数名が比較され、その一致する語のデータ
フィールドにデータが書き込まれる。
インストラクションメモリにおいて、算術演算命令等を
意味する語のオペランドデータが全てデータメモリに書
き込み済みとなると、その語で示される演算が演算ユニ
ットで実行され、その演算結果がデスティネーションフ
ィールドで示されるデータメモリのアドレスにある語の
データフィールドに書き込まれる。
インストラクションメモリにおいて、データの格納命令
を意味する語のオペランドデータが全てデータメモリに
書き込み済みとなると、指示された格納領域にデータが
格納される。
インストラクションメモリの各部で示される命令の実行
の後に、命令が格納されていたインストラクションメモ
リの語、及びオペランドデータが格納されていたデータ
メモリの語は以後の使用のために解放される。
なお、本実施例においては、オペランドアドレスがプロ
グラム要素として送られてくるごとにデータメモリの使
用されていない1語が割り当てられることとなっている
が、本発明はデータメモリの照合フィールドに同じ変数
名の書き込みのある語が存在する場合にはその語を割り
当てる構成とすることが可能である。
第4図は演算装置の動作を具体的に示した説明図であり
、以下においてこの図をもとに演算装置の動作を説明す
る。第4図においてデータメモリのデータ制御フィール
ド、インストラクションメモリのインストラクション制
御フィールドが省かれていることを除けば、データメモ
リ及びインストラクションメモリの構成はそれぞれ第2
図、第3図のものと同じである。第4図で点線が書き込
まれている箇所は、その語が使用されていないことを意
味する。 (ここでは、実行のステップが進むごとの、
その時々の各構成部分の内容を示すために各部の符号の
後尾にハイフンとステップに対応する数字を添えること
とする。) 命令ms装置からプログラム文が例えば(A、α、5、
*、=)(A=α本5を意味する。)のように送られて
くるものとする。
演算装置に計算結果の格納先を表す変数名(またはアド
レス)〔A〕が送られてくると、変数Aにデータメモリ
のアドレス■の語が割り当てられ、そのデータメモリの
語のデータフィールドに変数名(A)を書き込むと共に
、スタックメモリに上記データメモリの語のアドレス■
が4−1のように押し込まれる。 (第4図において、
データメモリ、インストラクションメモリの各部は上か
ら順に1.2.3、〜のようにアドレスが付けられてい
るものとする) 演算装置にオペランドアドレスを表す変数名〔α〕が送
られてくると、変数αにデータメモリのアドレス■の語
が割り当てられ、そのデータメモリの語の照合フィール
ドに変数名〔α〕を書き込むと共に、スタックメモリに
上記データメモリの語のアドレス■が4−2のように押
し込まれる。
演算装置に即値データ′5′が送られてくると、上記即
値データにデータメモリのアドレス■の語が割り当てら
れ、そのデータメモリの語のデータフィールドにデータ
25′を書き込むと共に、スタックメモリに上記データ
メモリの語のアドレス■が4−3のように押し込まれる
演算装置に演算子1 *′が送られてくると、演算結果
の格納先とじてにデータメモリのアドレス■の語が、演
算の内容を記憶するためにインストラクションメモリの
アドレス1の語が割り当てられる。そのインストラクシ
ョンメモリの語のオペレーションフィールドに演算子′
零′を、オペランドフィールドにスタックメモリから2
つ取り出したオペランドデータを格納するデータメモリ
の語のアドレス■と■を、デスティネーションフィール
ドに演算結果の格納先を表すデータメモリの語のアドレ
ス■を書き込む、さらに、スタックメモリにそのデータ
メモリの語のアドレス■が押し込まれ4−4のようにな
る。
演算装置にデータの代入(あるいはデータの格納)を表
す′=′が送られてくると、命令の内容を記憶するため
にインストラクションメモリのアドレス2の語が割り当
てられる。そのインストラクションメモリの語のオペレ
ーションフィールドに2=1を、オペランドフィールド
にスタックメモリから2つ取り出したオペランドデータ
を格納するデータメモリの語のアドレス■と■を書き込
む、こうして、プログラム文の末尾に到ると、スタック
メモリの内容は4−5のように空に・なる。
変数αのデータ′2′が記憶装置から送られてくると、
連想記憶機能により、データメモリの照合フィールドに
変数名〔α〕の書き込みのある語のデータフィールドに
このデータ12′が5−6のように書き込まれる。
そうすると、インストラクションメモリ6−6のアドレ
ス1の語によって示される演算命令は実行可能となるの
で、演算ユニット7に送られ演算が実行される。この後
、インストラクションメモリのアドレス1の語、及びデ
ータメモリのアドレス■、■の2語の書き込みは無効と
される。
演算結果がデータ110″のように求まると、デスティ
ネーションフィールドで示されるデータメモリのアドレ
ス■の語のデータフィールドに演算結果のデータ′ 1
0′が書き込まれる。
そうすると、インストラクションメモリ6−7のアドレ
ス2の語によって示されるデータの格納命令は実行可能
となり、変数名(Alによって示される記憶装置の領域
にデータ’10’が格納される。この後、インストラク
ションメモリのアドレス2の語、及びデータメモリのア
ドレス■、■の2語の書き込みは無効とされる。
また、従来のノイマン型プロセッサがそのジョブの一部
を、上記実施例の電子計算機にプログラム文の実行を委
託することにより、効率的なジョブの実行が可能である
。この場合、上記実施例の電子計算機は委託されたプロ
グラム文の実行結果あるいは実行状態を上記ノイマン型
プロセッサに通知し、ノイマン型プロセッサは割り込み
処理等を行うことによりジョブの実行を制御することが
できる。
[発明の効果] 本発明の方式によれば、逆ポーランド記法を用いてプロ
グラムが作成できるのでソフトウェアの開発が容易であ
り、また、データ駆動による並列処理が行われるので効
率的な計算の実行が可能であるという利点がある。
【図面の簡単な説明】
第1図は本発明の一実施例のブロック図、第2図はデー
タメモリの詳細な構成を示す説明図、第3図はインスト
ラクションメモリの詳細な構成を示す説明図、第4図は
動作が行われる毎のスタックメモリ、データメモリ及び
インストラクションメモリの内容を示す説明図である。 1は命令I制御装置、2は演算装置、3は記憶装置、4
はスタックメモリ、5はデータメモリ、6はインストラ
クションメモリ、7は演算ユニットを表している。

Claims (2)

    【特許請求の範囲】
  1. (1)データの格納領域のアドレス、即値データ、ある
    いは算術演算やデータの格納を示す演算子をプログラム
    要素と呼び、 逆ポーランド形式あるいはそれに類する形式に照らして
    意味のあるプログラム要素の並びをプログラム文と呼ぶ
    とき、 以下のような特徴を有する電子計算機。 (イ)プログラム文をプログラム要素単位で順次送り出
    す命令制御装置と、 連想記憶機能を有するデータメモリと、 上記データメモリの語のアドレスが書き込 まれるスタックメモリと、 演算の種類、オペランドデータを格納する データメモリの語のアドレス及び演算結果の格納先とな
    るデータメモリの語のアドレスを記憶するインストラク
    ションメモリと、 上記インストラクションメモリに書き込ま れた演算を実行する演算ユニットとを具備する。 (ロ)上記命令制御装置からプログラム要素が送り出さ
    れる毎に以下の動作が行われる構成となつている。 プログラム要素がデータの格納領域のアド レスまたは即値データである場合には、そのプログラム
    要素にデータメモリの1語を割り当て、そのデータメモ
    リにおけるアドレスをスタックメモリに押し込む。 プログラム要素が算術演算子等の演算結果 を生成する演算子である場合には、データメモリの使用
    されていない1語を演算結果の格納先として割り当てる
    と共に、インストラクションメモリの使用されていない
    1語を割り当て、そのインストラクションメモリの語に
    演算の種類と、スタックメモリから演算の種類に応じた
    数だけ取り出したオペランドデータを格納するデータメ
    モリの語のアドレスと、上記演算結果の格納先として割
    り当てられたデータメモリの語のアドレスを書き込み、
    その演算結果の格納先となるデータメモリの語のアドレ
    スをスタックメモリに押し込む。 プログラム要素がデータの格納等を示す演 算結果を生成しない演算子である場合には、インストラ
    クションメモリの使用されていない1語を割り当て、そ
    のインストラクションメモリの語に演算の種類と、スタ
    ックメモリから演算の種類に応じた数だけ取り出したオ
    ペランドデータを格納するデータメモリの語のアドレス
    を書き込む。 (ハ)上記インストラクションメモリにおいて、オペラ
    ンドデータが全てデータメモリに書き込み済みである語
    が検出されると、その語で示される演算が実行される構
    成となっている。
  2. (2)従来のノイマン型プロセッサがそのジョブの一部
    を、請求項1記載の電子計算機にプログラム文の実行を
    委託することにより、実現する方法。
JP8268089A 1989-03-31 1989-03-31 計算機方式 Pending JPH02260082A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8268089A JPH02260082A (ja) 1989-03-31 1989-03-31 計算機方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8268089A JPH02260082A (ja) 1989-03-31 1989-03-31 計算機方式

Publications (1)

Publication Number Publication Date
JPH02260082A true JPH02260082A (ja) 1990-10-22

Family

ID=13781137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8268089A Pending JPH02260082A (ja) 1989-03-31 1989-03-31 計算機方式

Country Status (1)

Country Link
JP (1) JPH02260082A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999027439A1 (en) * 1997-11-20 1999-06-03 Hajime Seki Computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999027439A1 (en) * 1997-11-20 1999-06-03 Hajime Seki Computer system

Similar Documents

Publication Publication Date Title
US5615357A (en) System and method for verifying processor performance
US9747086B2 (en) Transmission point pattern extraction from executable code in message passing environments
JPS6275735A (ja) エミユレ−シヨン方法
KR950033859A (ko) 부동 소숫점 유니트에서의 다이나믹 레지스터 관리 장치 및 방법
EP0565705B1 (en) Out of order job processing method and apparatus
JP2001504957A (ja) 先進のプロセッサにおけるメモリ・データ・エリアシング方法および装置
JPH05216689A (ja) コンピュータ装置およびコンピュータ装置を動作させる方法
JP2001519954A (ja) 一時的にターゲット・プロセッサの状態を保持する装置を備えたホスト・マイクロプロセッサ
DE112015006952T5 (de) Hardware-mechanismus zum ausführen atomarer handlungen in entfernten prozessoren
EP3871081B1 (en) Register renaming-based techniques for block-based processors
JPH02260082A (ja) 計算機方式
US20050154854A1 (en) Method, system, and article of manufacture for reserving memory
JPH0527142B2 (ja)
JPS6049352B2 (ja) デ−タ処理装置
JPS61184643A (ja) 仮想計算機の起動制御方式
WO2025015117A1 (en) Parallel architecture with compiler-scheduled compute slices
JP2856784B2 (ja) 電子計算機
Levchenko et al. Approaches to the development of various sets of nodes and blocks for the PDCS matching processor
JPS5872251A (ja) デ−タ処理方式
JP2522372B2 (ja) デ―タ駆動形計算機
JPS60163134A (ja) 仮想計算機システム
JPS6223898B2 (ja)
Seltzer Parallel Assembly Synthesis
JPS60215250A (ja) デ−タ処理装置
JPS59218567A (ja) アドレスオ−バラツプチエツク方式