JPH03100829A - プログラム内蔵型計算機 - Google Patents

プログラム内蔵型計算機

Info

Publication number
JPH03100829A
JPH03100829A JP23919489A JP23919489A JPH03100829A JP H03100829 A JPH03100829 A JP H03100829A JP 23919489 A JP23919489 A JP 23919489A JP 23919489 A JP23919489 A JP 23919489A JP H03100829 A JPH03100829 A JP H03100829A
Authority
JP
Japan
Prior art keywords
instruction code
instruction
code
program
correspondence
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
JP23919489A
Other languages
English (en)
Inventor
Mutsumi Fujiwara
睦 藤原
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP23919489A priority Critical patent/JPH03100829A/ja
Publication of JPH03100829A publication Critical patent/JPH03100829A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は命令コード量の増加や実行速度の低下を招くこ
となく類似プログラムを1つにまとめて実行することの
できるプログラム内蔵型計算機に関する。
(従来の技術) プログラム内蔵型計算機は、番地付き記憶装置に予め記
憶されている命令コードの系列(所謂プログラム)を逐
次読出し、これを演算装置(CPU)にて解釈実行して
上記命令コードに対応した操作を行う如く構成される。
この番地付き記憶装置(所謂プログラム・メモリ)に格
納されたプログラムを構成する命令コードは、通常、ビ
ット列の操作(オペレーション)を指定する為のオペレ
ーション・コードと、その操作の対象となるビット列(
オペランド)を指定する為のデータとにより構成される
。前記演算装置はこのような命令コードを解釈実行する
ことにより、その命令コードに対応した操作を行うこと
になる。
ところでこのような命令コードにおけるオペランドに関
しては、例えば上記記憶装置や演算装置内のレジスタに
おける記憶内容を変更することで、その指定を変更する
ことができるようになっている。具体的には成るオペレ
ーション拳コードをデコード(解釈)する場合であって
も、演算装置内のレジスタにおける記憶内容を予め異な
らせておくことにより、全く異なるビット列をオペラン
ドとして指定し得るようになっている。このような機能
を活用することにより、1つのプログラムが含んでいる
オペレーションを、例えばそのプログラムを実行する毎
に、相互に異なるオペランドの組み合わせに対して適用
することが可能となる。
このことはプログラムを変更することなく、オペランド
の異なる種々の対象に対応可能であると云う効果が奏せ
られる。そして従来では、この機能を利用してオペラン
ドのビット列だけが異なる命令コードの系列を1つのプ
ログラムとしてまとめ、これによって類似プログラムを
整理することが行われている。
然し乍ら、オペレーションに関しては上述したオペラン
ドに関するような効果を期待することはできず、オペラ
ンドの指定が同じであってもそのオペレーションが異な
る毎に命令コードを準備することが必要である。これ故
、オペランドが同一でオペレーションのみが若干異なる
ような類似する複数の命令コード系列であっても、これ
を1つのプログラムとしてまとめることができず、結局
、類似したプログラムを複数個準備する必要があった。
これ故、プログラム・メモリに格納すべき命令コード量
が膨大化することが否めなかった。
しかもプログラムを構成する命令コード列に共通性があ
り、特定のオペレーションを含む命令が追加されている
ような複数のプログラムを1つにまとめる場合には、そ
の追加された命令部分を個々に実行するか否かを判断す
る為の新たな命令コードを、1つにまとめられた複数の
プログラムに対応して追加する必要がある。これ故、プ
ログラムの改定が必要となる上、個々のプログラムに比
較して実質的な命令コード量が増加し、その実行速度が
低下すると云う問題が生じた。
(発明が解決しようとする課題) このように従来のプログラム内蔵型計算機においては、
−数的にオペランドだけが異なる一連の命令コード系列
を1つのプログラムとしてまとめることはできるが、オ
ペレーションのみが部分的に異なる命令コードの系列に
ついては1つのプログラムにまとめることができず、ま
た特定のオペレーションを含む命令のみが追加されてい
るような類似プログラムを1つにまとめるような場合に
は、個々のプログラムに比較してその命令コード量が増
加し、実行速度が低下すると云う問題が生じた。
本発明はこのような事情を考慮してなされたもので、そ
の目的とするところは、プログラムの改定や実行速度の
低下等の不具合を招くことなしにオペレーションの異な
る類似プログラムを1つにまとめて効率の良いプログラ
ムの解釈実行を可能とするプログラム内蔵型計算機を提
供することにある。
[発明の構成] (課題を解決するための手段) 本発明は番地付き記憶装置に予め格納されている命令コ
ードの系列を逐次読出し、この番地付き記憶装置から読
出した命令コードを演算装置にて解釈実行して上記命令
コードに対応した操作を行うプログラム内蔵型計算機に
係り、 命令コードとその命令コードの解釈実行により生じる操
作との対応を変更する為の特定の命令コードを準備して
おき、演算装置における上記特定の命令コードの解釈実
行により当該特定の命令コードにより指定される所定の
命令コードとその命令コードの解釈実行により生じる操
作との対応を変更するようにしたことを特徴とするもの
である。
つまり特定の命令コードの解釈実行により、命令コード
とその命令コードの解釈実行により生じる操作との対応
を変更、回復し得るようにしたことを特徴とするもので
ある。
(作 用) このような本発明に係るプログラム内蔵型計算機によれ
ば、命令コードとオペレーションとの対応を、特定の命
令の実行により適宜変更することができるので、事前に
上記特定の命令を解釈実行スることにより、同一のプロ
グラムを実行するだけでオペラランドを同じ<シ、オペ
レーションだけが異なる類似プログラムをそれぞれ効率
的に実行することが可能となる。また特定のオペレーシ
ョン・コードを含む命令コードが追加されるような複数
の類似プログラムを1つにまとめた場合であっても、予
めその特定のオペレーションを上述した特定の命令によ
って無効化することにより、命令コード量を殆ど増加さ
せることなく、またその実行速度の低下を招くことなく
上述した複数の類似プログラムを効率的に実行すること
が可能となる。
(実施例) 以下、図面を参照して本発明の一実施例に係るプログラ
ム内蔵型計算機について説明する。
第1図は実施例に係るプログラム内蔵型計算機の主要部
をなす演算装置(CPU)の概略番、■成因である。
プログラム内蔵型計算機は、命令コード列からなるプロ
グラムを記憶した番地付き記憶装置(プログラム・メモ
リ)と、この記憶装置からプログラムを逐次読み出す為
のプログラム・カウンタ、また上記記憶装置から逐次読
み出されるプログラムを解釈実行する演算装置(CPU
)とその処理操作に用いられる各種のレジスタ、更に入
出力インターフェース等をデータバスおよびアドレスバ
スを介して相互に接続して構成される。
しかして番地付き記憶装置(プログラム・メモリ)に記
憶されたプログラム(命令コードの系列)は、プログラ
ムカウンタからのアドレスバスを介するアドレス指定を
受けてデータバス上に逐次読み出される。CPUはこの
ようにしてデータバス上に読み出される上記メモリ内容
(命令コード)を、データバッファlからCPU内部バ
ス2を介してインストラクション・レジスタ3に取り込
む(フェッチする)。CPUにおけるインストラクショ
ン・デコーダ4は、基本的には上述したようにしてイン
ストラクション拳レジスタ3にフェッチされた命令コー
ドを解釈し、その解釈結果に従って上記命令コード(イ
ンストラクション・コード)に対応する操作を実現する
為の制御コードを生成出力する。
前記CPUのタイミング−コントローラ5は、このよう
にしてインストラクション・デコーダ4が命令コードの
解釈により生成する制御コードに従い、その制御コード
に対応した各種の制御信号を発生する。このタイミング
ψコントローラ5から出力される制御信号に従って演算
ユニット6やレジスタユニット7の動作が制御され、上
記インストラクション・コードに対応する操作が実現さ
れる。
尚、8はレジスタユニット7から指定されるアドレスデ
ータをラッチして前記アドレスバスに出力する為のアド
レスバッファである。
ここで命令コードを解釈して制御コードを生成するイン
ストラクション・デコーダ4は、具体的には上述した命
令コードの中のオペレーションコードに対応する部分の
ビット列(ビット数:n)によって番地付けされている
2″ワードの制御コードを記憶する第1の記憶装置4a
と、この第1の記憶装置4aと同様に番地付けされ、前
記オペレーション・コードに対応して予め定められた制
御コードを格納した読み出し専用の第2の記憶装置4b
とをデコーダ部として備えている。即ち、これらのデコ
ーダ部として機能する記憶装置4a、 4bは、命令コ
ードに対応付けられたアドレスに、その命令コード−に
よって指定される操作を実現する為の制御コードをそれ
ぞれ格納して構成される。
そして命令コードの入力によりアドレス指定されたとき
、そのアドレスに格納されている上記命令コードに対応
した制御コードを出力することにより当該命令コードを
解釈するものとなっている。
具体的には命令コードnが与えられたとき、記憶装置4
aのアドレス[nlに記憶されている上記命令コードn
に対応する操作、例えば加算処理を実行する為の制御コ
ード[ADD]を読み出す。
しかしてこのインストラクション・デコーダ4における
セレクタ4cは、前記プログラムφメモリから読み出さ
れて前記インストラクション・レジスタ3にフェッチさ
れた命令コード、または後述するように前記CPU内部
バス2上に与えられる命令コードを後述するようにタイ
ミング・コントローラ5からの制御を受けて選択的に取
り込み、これをアドレス・ラッチ4dに保持する。この
アドレス・ラッチ4dに保持された命令コードが前記記
憶装置4a、 4bに対するアドレスデータとして用い
られ、記憶装置4a、 4bのアクセスが行われる。こ
のようなアクセス処理により、前記記憶装置4a。
4bに格納された制御コードの読み出しやその書き込み
が制御される。
さてこのように構成されたインストラクション・デコー
ダ4は、基本的にはプログラム・カウンタの進行に伴っ
て前記インストラクション・レジスタ3に逐次フェッチ
されるオペレーション・コードをセレクタ4cを介して
アドレス・ラッチ4dに保持し、これをアドレス指定情
報として第1の記憶装置4aをアクセスする。そしてこ
の第1の記憶装置4aから、上述した如くアドレスとし
て入力した上記オペレーション・コードに対応する記憶
内容(制御コード)を制御コード・バス4e上に出力す
る。この制御コード・バス4e上に出力された制御コー
ドが、前記命令コードをデコード(解釈)して生成され
る制御コードとして前記タイミング・コントローラ5に
与えられ、上記命令コードに対応した操作(処理動作)
を実行する為の制御信号の生成に供せられる。
ところで前記第1および第2の記憶装置4a、 4bに
は、前述した個々の命令コード(オペレーション・コー
ド)に対応する操作をそれぞれ指定する制御コードだけ
ではなく、そのオペレーション・コードに対応して記憶
された制御コードを変更する為の特別な命令コードに対
応する特別な制御コードが格納されている。つまり第2
図に例示するように、前記第1および第2の記憶装置4
a、 4bの2”個のアドレスは、基本的には複数の命
令コードにそれぞれ対応付けられ、その命令コードの解
釈により実行される操作を前記タイミング・コントロー
ラ5に対して指示する為の制御コードがそれぞれ格納さ
れるが、その中の幾つかは命令コードに対応する制御コ
ードを変更する為の予め定められた特別な命令コードに
対応付けられている。
例えば制御コードの変更を指示する特別な命令コードX
に対しては記憶装置4a、 4bのアドレス[X]が割
り当てられる。そしてそのアドレス[X]にはその操作
(制御コード)を変更しようとする命令コードを示す情
報と、その命令コードに対して新たに設定したい操作(
制御コード)を指定する為の情報とが格納される。
具体的には、例えば基本的には加算処理を指定する制御
コード[ADD]が割り当てらる命令コードnに減算処
理を指定する制御コード[SUB]を割り当てることで
、上記命令コードnとその操作との対応を変更する為の
特別な命令コードXがある場合、この命令コードに関し
て前記記憶装置4a、 4bのアドレス[x]が対応付
けられる。そしてこのアドレス[X]にその変更対象と
する操作の制御コード[ADD]を指定する命令コード
nに関する情報と、変更しようとする操作の制御コード
[SUB]を指定する命令コードmに関する情報とが、
対応操作の変更制御の為の情報として格納される。
しかしてこのような制御コードを変更する為の特別な命
令コードXが前記インストラクション・レジスタ3を介
して入力されると、インストラクション・デコーダ4は
先ずその人力された命令コードXに従って第1の記憶装
置4aをアクセスする(第2図中、■の処理)。そして
この命令コードXに従って第1の記憶装置4aがら読み
出された制御コードをタイミング・コントローラ5が受
は取ると、タイミング−コントローラ5はその制御コ−
ドに従い、先ず前記CPU内部バス2を経由してレジス
タユニット7やプログラム・メモリから、前記変更しよ
うとする操作の制御コード[SUB]を指定する命令コ
ードmを入力し、これを前記アドレス・ラッチ4dに保
持する。そしてこのアドレス・ラッチ4dに保持された
オペレーション・コード(命令コードm)に従って読み
出し専用の第2の記憶装置4bのアドレス[mlをアク
セスしく第2図中、■の処理)、そのオペレーション・
コードに対応する制御コード[S U B]を制御コー
ドバス4eに読み出す。
この状態で前記タイミング・コントローラ5は次に前記
CPU内部バス2を再度経由し、今度は対応する操作を
変更しようとするオペレーション・コード(命令コード
n)を読み込み、これをアドレス・ラッチ4dに保持す
る。そしてこのアドレス・ラッチ4dに保持されたオペ
レーション・コードにより指定される前記第1の記憶装
置4aのアドレス[nlをアクセスしく第2図中、■の
処理)、このアドレス[nlに前記制御コードバス4e
に読み出されている制御コード[SUB]を書き込む(
第2図中、■の処理)。
このような処理操作により、第1の記憶装置4aのアド
レス[nlに記憶されていた制御コード[ADD]が、
m2の記憶装置4bの別のアドレス[mlに記憶されて
いた制御コード[SUB]により書き替えられ、上記オ
ペレーションφコード(命令コードn)に対応付けられ
る操作の変更が行われる。つまり命令コードnには本来
的には加算処理を示す制御コード[ADD]が対応付け
られているが、操作の対応関係を変更する特別な命令コ
ードXの解釈実行により、上記命令コードnには減算処
理を示す制御コード[SUB]が新たに対応付けられる
ことになる。
かくしてこのような命令コードとその操作の対応を変更
する特別な命令コードを備え、その実行によって同じ命
令コードであっても、その命令コードの解釈により実行
される操作を変更することのできる本計算機によれば、
例えば第3図に示すように最初に出現する命令コードn
の解釈実行時には、その命令コードnに対して本来的に
設定されている操作である加算処理を、その制御コード
[ADD]に従ってそのまま実行する。しかしその後、
命令コードnに対する操作の対応を変更する命令コード
Xが与えられ、命令コードnに対応する操作が減算処理
に変更されると、その後、同じ命令コードnが与えられ
た場合には、今度は減算処理を指示する制御コード[S
UB]が求められることになる。この結果、同じ命令コ
ードnが与えられると靴も、特別な命令コードXによっ
てその対応操作が変更される前後により、異なった処理
操作が実行されることになる。
従ってオペランドが同一で、そのオペレーションだけが
異なるような類似したプログラムであっても、これを1
つのプログラムとしてまとめておき、上述した特別な命
令コードを用いて同一の命令コードに対する操作の対応
を変更することで、上述したオペレーションの異なる類
似プログラムをそれぞれ効率的に実行することが可能と
なる。
換言すれば、命令コード自体を変更することなしに、そ
の命令コードに対応する操作の内容を適宜変更して異な
る処理を行わせることが可能となる。
この結果、オペレーションだけが異なる類似した複数の
プログラムを効率的に1つにまとめ、そのオペレーショ
ンの異なりを、その対応操作を変更する特別な命令コー
ドを用いて変更することだけで上述した複数の類似プロ
グラムをそれぞれ効率的に実行することが可能となる。
また本計算機によれば、例えば対応操作を変更する特別
な命令コードとして、その対応操作を無効命令に変更す
るものを用いれば、命令コードが追加されているような
類似プログラムであっても、その命令コードの追加のな
いプログラムと同様に実行することが可能となる。この
結果、基本プログラムを同じくする複数の類似プログラ
ムを効果的に1つにまとめることが可能となる。
従って命令コードが若干具なるだけの複数の類似プログ
ラムや、命令コードの若干の追加があるような別のプロ
グラムが沢山あるような場合であっても、これらを1つ
のプログラムとして効果的にまとめ、命令コードに対応
する操作の変更処理だけにより、これらの各ブローグラ
ムをそれぞれ高速に実行することが可能となる等の実用
上多大なる効果が奏せられる。
尚、ここでは命令コードnに対応する操作を加算処理[
ADD]から減算処理[SUB]に変更する例について
説明したが、無効命令[NOP]やその他の操作に変更
することも勿論可能である。
更には他の命令コードに対応する操作の変更に対しても
同様に適用可能である。
また変更された命令コードとその操作(オペレーション
・コードと制御コード)との対応は、例えば上述した変
更操作の際に指定する2つの命令コードを一致させるこ
とにより回復可能である。
つまり第1の記憶装置4aにおける命令コードnの操作
が減算処理[SUB]に変更されていても、第2の記憶
装置4bには上記命令コードnに対して本来的に対応付
けられている操作である加算処理[A D Dlの情報
が格納されているので、この情報をアドレス指定するこ
とにより、その対応操作を元に戻すことができる。しか
しこの場合、実際的には同じ命令コードを2回に亘って
繰り返し入力することは冗長なので、変更後の操作を指
定する命令コードをそのまま用いて変更対象とする命令
コードを指定するようにする方が好都合である。
更には数多くの命令コードに対応する操作が変更されて
いるような場合には、第2の記憶装置4bの内容を一括
的に第1の記憶装置4aに書き込むような命令を準備し
ておけば、これらの変更された対応操作の一括回復を行
わせることができる。その他、本発明はその要旨を逸脱
しない範囲で種々変形して実施することができる。
[発明の効果〕 以上説明したように本発明によれば、オペレーションコ
ードと、それを実行した際のビット列操作との対応を適
宜変更することができるので、オペレー、ジョンコード
だけが異なる複数のプログラムを1つの基本的なプログ
ラムを用いて効果的に代替実行させることが可能となる
。しかも命令コードの追加があるような複数のプログラ
ムについても、これを1つのプログラム上でそれぞれ効
果的に実行させることが可能となる。この結果、複数の
プログラムを整理してプログラム・メモリに格納すべき
命令コードの量を大幅に削減し、また実行的な処理速度
の低下を殆ど招くことなしに、これらの複数のプログラ
ムをそれぞれ高速に実行することが可能となる等の実用
上多大なる効果が奏せられる。
【図面の簡単な説明】
図は本発明の一実施例に係るプログラム内蔵型計算機に
ついて示すもので、第1図はそのCPUの概略構成図、
第2図は実施例における命令コードに対応する操作の変
更手続きの概念を模式的に示す図、第3図は実施例によ
る効果を模式的に示す図である。 3・・・インストラクション・レジスタ、4・・・イン
ストラクション・デコーダ、4a・・・第1の記憶装置
、4b・・・第2の記憶装置、4c・・・セレクタ、4
d・・・アドレスψラッチ、5・・・タイミングQコン
トローラ。

Claims (3)

    【特許請求の範囲】
  1. (1)番地付き記憶装置に予め格納されている命令コー
    ドの系列を番地指定により逐次読出し、この番地付き記
    憶装置から読出した命令コードを演算装置にて解釈実行
    して上記命令コードに対応した操作を行うプログラム内
    蔵型計算機において、命令コードとその命令コードの解
    釈実行により生じる操作との対応を変更する為の特定の
    命令コードを準備しておき、この特定の命令コードの解
    釈実行によりこの特定の命令コードにより指定される所
    定の命令コードとその命令コードの解釈実行により生じ
    る操作との対応を変更することを特徴とするプログラム
    内蔵型計算機。
  2. (2)命令コードと操作との対応の変更は、命令コード
    を解釈するデコーダの内容を変更することにより行われ
    ることを特徴とする請求項(1)に記載のプログラム内
    蔵型計算機。
  3. (3)操作との対応を変更する為の特定の命令コードの
    1つは、一旦変更された命令コードと操作との対応を変
    更前の対応に戻す為の命令コードからなることを特徴と
    する請求項(1)に記載のプログラム内蔵型計算機。
JP23919489A 1989-09-14 1989-09-14 プログラム内蔵型計算機 Pending JPH03100829A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23919489A JPH03100829A (ja) 1989-09-14 1989-09-14 プログラム内蔵型計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23919489A JPH03100829A (ja) 1989-09-14 1989-09-14 プログラム内蔵型計算機

Publications (1)

Publication Number Publication Date
JPH03100829A true JPH03100829A (ja) 1991-04-25

Family

ID=17041122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23919489A Pending JPH03100829A (ja) 1989-09-14 1989-09-14 プログラム内蔵型計算機

Country Status (1)

Country Link
JP (1) JPH03100829A (ja)

Similar Documents

Publication Publication Date Title
US4468736A (en) Mechanism for creating dependency free code for multiple processing elements
US4466061A (en) Concurrent processing elements for using dependency free code
US4954943A (en) Data processing system
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPH04172533A (ja) 電子計算機
JP2002512399A (ja) 外部コプロセッサによりアクセス可能なコンテキストスイッチレジスタセットを備えたriscプロセッサ
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
JPH03158928A (ja) データ処理装置
US5307300A (en) High speed processing unit
GB2024475A (en) Memory access controller
JPH01137331A (ja) 制御ワード分岐方法
JPH0673105B2 (ja) 命令パイプライン方式のマイクロプロセッサ
US5390306A (en) Pipeline processing system and microprocessor using the system
KR950012118B1 (ko) 병렬 파이프라인 명령 처리 장치
US4456958A (en) System and method of renaming data items for dependency free code
JPH02293931A (ja) 制御装置
JPH03100829A (ja) プログラム内蔵型計算機
US5187782A (en) Data processing system
GB2069733A (en) Conditional instruction execution in a pipelined processor
JPH0222413B2 (ja)
JPS5995646A (ja) 演算制御装置
JP2522372B2 (ja) デ―タ駆動形計算機
JPH02110636A (ja) タグ・アーキテクチャマシンのデバッグ装置とそのコンパイラ
JPS5971550A (ja) 命令処理方式
JPH07191845A (ja) 即値データ転送装置