JPH1091429A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH1091429A JPH1091429A JP6813697A JP6813697A JPH1091429A JP H1091429 A JPH1091429 A JP H1091429A JP 6813697 A JP6813697 A JP 6813697A JP 6813697 A JP6813697 A JP 6813697A JP H1091429 A JPH1091429 A JP H1091429A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- architecture
- information processing
- sequence
- 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
Links
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【課題】 複数の命令アーキテクチャをサポートするプ
ロセッサで、マイクロ命令や命令語の制御記憶や命令記
憶内での重複格納を排除する。 【解決手段】 処理対象命令のアーキテクチャモードを
保持するモードレジスタ、命令アーキテクチャモード毎
に、それぞれ命令処理に必要なセットアップデータを生
成する複数のセットアップデータ生成部(DS)、それ
ぞれ命令の実行順序を定めたシーケンスコード列を格納
する複数のシーケンス記憶(SS)を設ける。モードレ
ジスタにより、一つのDSを選択し、処理対象命令のセ
ットアップデータを得、該セットアップデータの一部を
SSアドレスとして一つのSSに入力して、当該SSか
ら該命令のシーケンスコード列を読み出し、該コード列
を制御記憶や命令記憶のアドレスとして目的のマイクロ
命令群や命令語群を得る。
ロセッサで、マイクロ命令や命令語の制御記憶や命令記
憶内での重複格納を排除する。 【解決手段】 処理対象命令のアーキテクチャモードを
保持するモードレジスタ、命令アーキテクチャモード毎
に、それぞれ命令処理に必要なセットアップデータを生
成する複数のセットアップデータ生成部(DS)、それ
ぞれ命令の実行順序を定めたシーケンスコード列を格納
する複数のシーケンス記憶(SS)を設ける。モードレ
ジスタにより、一つのDSを選択し、処理対象命令のセ
ットアップデータを得、該セットアップデータの一部を
SSアドレスとして一つのSSに入力して、当該SSか
ら該命令のシーケンスコード列を読み出し、該コード列
を制御記憶や命令記憶のアドレスとして目的のマイクロ
命令群や命令語群を得る。
Description
【0001】
【発明の属する技術分野】本発明は、マイクロコード制
御あるいはハードウェアロジックにて命令処理を行う情
報処理装置に係わり、特に異なる命令アーキテクチャを
併せ持つマルチ命令アーキテクチャプロセッサに好適な
マイクロ命令や命令の読出し及び実行機構に関する。
御あるいはハードウェアロジックにて命令処理を行う情
報処理装置に係わり、特に異なる命令アーキテクチャを
併せ持つマルチ命令アーキテクチャプロセッサに好適な
マイクロ命令や命令の読出し及び実行機構に関する。
【0002】
【従来の技術】従来のマイクロコードで命令処理を実現
している情報処理装置では、命令制御ユニットにて、主
記憶などから命令を読出し、解読した後、制御記憶に予
め格納されている該命令の処理機能を実現するマイクロ
命令(マイクロ命令データ)をマイクロコードの処理手
順に従い、順次一定手順で読み出し、該マイクロ命令を
制御記憶データレジスタに一旦セットし、該制御記憶デ
ータレジスタからマイクロ命令の実行を司る実行ユニッ
トに送出し、該実行ユニットに於いて該マイクロ命令の
複数のフィールドで指定された複数の動作を行なう方式
が一般的である。
している情報処理装置では、命令制御ユニットにて、主
記憶などから命令を読出し、解読した後、制御記憶に予
め格納されている該命令の処理機能を実現するマイクロ
命令(マイクロ命令データ)をマイクロコードの処理手
順に従い、順次一定手順で読み出し、該マイクロ命令を
制御記憶データレジスタに一旦セットし、該制御記憶デ
ータレジスタからマイクロ命令の実行を司る実行ユニッ
トに送出し、該実行ユニットに於いて該マイクロ命令の
複数のフィールドで指定された複数の動作を行なう方式
が一般的である。
【0003】又、従来のマイクロコードで命令処理を実
現せずにハードウェアロジックにて命令処理を実現して
いる情報処理装置では、命令制御ユニットにて、主記憶
などに格納されている複数の命令で構成されたプログラ
ムコードの処理手順に従い、予め定められた手順で該プ
ログラムコードを構成している命令語を順次読み出し、
解読し、該解読された命令語の実行に必要なパラメータ
群を生成した上で、命令の実行を司る実行ユニットに送
出し、該実行ユニットに於いて前記パラメータ群で指定
された複数の動作を行なう方法が一般的である。
現せずにハードウェアロジックにて命令処理を実現して
いる情報処理装置では、命令制御ユニットにて、主記憶
などに格納されている複数の命令で構成されたプログラ
ムコードの処理手順に従い、予め定められた手順で該プ
ログラムコードを構成している命令語を順次読み出し、
解読し、該解読された命令語の実行に必要なパラメータ
群を生成した上で、命令の実行を司る実行ユニットに送
出し、該実行ユニットに於いて前記パラメータ群で指定
された複数の動作を行なう方法が一般的である。
【0004】初めに、従来のマイクロコードで命令処理
を実現している情報処理装置のマイクロ命令読み出し実
行機構及びマルチ命令アーキテクチャプロセッサに適用
した場合の問題点について説明する。
を実現している情報処理装置のマイクロ命令読み出し実
行機構及びマルチ命令アーキテクチャプロセッサに適用
した場合の問題点について説明する。
【0005】図2は、従来のマイクロコードで命令処理
を実現している情報処理装置において、特に主記憶(以
下、MSという)200、命令制御ユニット(以下、I
Uという)210、制御記憶アドレスレジスタ(以下、
CSARという)250、制御記憶(以下、CSとい
う)260、制御記憶データレジスタ(以下、CSDR
という)270及び実行ユニット280(以下、EUと
いう)の関係を示すブロック図である。
を実現している情報処理装置において、特に主記憶(以
下、MSという)200、命令制御ユニット(以下、I
Uという)210、制御記憶アドレスレジスタ(以下、
CSARという)250、制御記憶(以下、CSとい
う)260、制御記憶データレジスタ(以下、CSDR
という)270及び実行ユニット280(以下、EUと
いう)の関係を示すブロック図である。
【0006】MS200は命令群を格納している。IU
210は、該MS200から命令の読み出しを行ない、
該命令の解読を行なった後、該命令に対応する先頭のC
Sのマイクロ命令アドレス(以下、IUセットアップア
ドレスという)を作成してCSAR250に送出する。
なお、IU210の命令の読出し元はバッファ記憶ある
いは命令バッファ等であってもよい。CSAR250は
IU250から送られるIUセットアップアドレスを受
取り、セットした後、該セットされたCSの先頭アドレ
スを用いてCS260に対し読み出し要求を出す。CS
260は、該アドレスを用いて目的とするマイクロ命令
(マイクロ命令データ)を読み出し、CSDR270に
送出する。CSDR270は、CS260から送出され
たマイクロ命令をセットし、EU280に送出すると共
に、該マイクロ命令内の次に実行すべきマイクロ命令ア
ドレスを保持しているブランチアドレスフィールド(以
下、BAフィールドという)のデータをCSAR250
に送出する。CSAR250は、該マイクロ命令内のB
Aフィールドのデータをセットし、CS260に対する
読み出し要求の発行動作に戻る。以下、これの繰返しに
より、MS200から読み出されたそれぞれの命令語の
機能を実現するCS260内の複数のマイクロ命令から
構成されるマイクロコードが順次実行される。
210は、該MS200から命令の読み出しを行ない、
該命令の解読を行なった後、該命令に対応する先頭のC
Sのマイクロ命令アドレス(以下、IUセットアップア
ドレスという)を作成してCSAR250に送出する。
なお、IU210の命令の読出し元はバッファ記憶ある
いは命令バッファ等であってもよい。CSAR250は
IU250から送られるIUセットアップアドレスを受
取り、セットした後、該セットされたCSの先頭アドレ
スを用いてCS260に対し読み出し要求を出す。CS
260は、該アドレスを用いて目的とするマイクロ命令
(マイクロ命令データ)を読み出し、CSDR270に
送出する。CSDR270は、CS260から送出され
たマイクロ命令をセットし、EU280に送出すると共
に、該マイクロ命令内の次に実行すべきマイクロ命令ア
ドレスを保持しているブランチアドレスフィールド(以
下、BAフィールドという)のデータをCSAR250
に送出する。CSAR250は、該マイクロ命令内のB
Aフィールドのデータをセットし、CS260に対する
読み出し要求の発行動作に戻る。以下、これの繰返しに
より、MS200から読み出されたそれぞれの命令語の
機能を実現するCS260内の複数のマイクロ命令から
構成されるマイクロコードが順次実行される。
【0007】一連の複数のマイクロ命令から構成される
マイクロコードの実行の終了は、マイクロコードを構成
する最後のマイクロ命令の動作終了フィールド(以下、
EOPフィールドという)の値をオンに設定することで
実現される。
マイクロコードの実行の終了は、マイクロコードを構成
する最後のマイクロ命令の動作終了フィールド(以下、
EOPフィールドという)の値をオンに設定することで
実現される。
【0008】CS260から、マイクロ命令のEOPフ
ィールドの値がオンであるマイクロ命令が読み出される
と、CSDR270は、該マイクロ命令内の次に実行す
べきマイクロ命令アドレスを保持しているBAフィール
ドのデータをCSAR250に送出せず、前記EOPフ
ィールドの値をIU210に送出する。IU210は、
オンであるEOPフィールドの値を受け取ると、次命令
の読み出しを行い、その解読を行なった後、該命令に対
応する先頭のCSのマイクロ命令アドレス(IUセット
アップアドレス)を作成してCSAR250に送出し、
次命令のマイクロコードの実行を起動する。
ィールドの値がオンであるマイクロ命令が読み出される
と、CSDR270は、該マイクロ命令内の次に実行す
べきマイクロ命令アドレスを保持しているBAフィール
ドのデータをCSAR250に送出せず、前記EOPフ
ィールドの値をIU210に送出する。IU210は、
オンであるEOPフィールドの値を受け取ると、次命令
の読み出しを行い、その解読を行なった後、該命令に対
応する先頭のCSのマイクロ命令アドレス(IUセット
アップアドレス)を作成してCSAR250に送出し、
次命令のマイクロコードの実行を起動する。
【0009】図3は、IU210内の命令レジスタと命
令解読器とセットアップデータ生成器の構成を示したも
のである。IU210は、命令語の読み出し要求を主記
憶等に対して行ない、該読み出された命令語を命令レジ
スタ(以降、IRという)211にセットした後、命令
解読器(以降、IDECという)212に送出する。I
DEC212は、該命令語の命令コードを解読して、該
命令コードや命令フォーマット、他の命令解読結果をセ
ットアップデータ生成器(以降、DSという)213に
送出する。DS213は、該命令語の命令解読結果を元
にセットアップデータを生成し、EU280及びCSA
R250に送出する。該DS213からCSAR250
に送出されるIUセットアップデータは、実行の対象と
なる命令の先頭マイクロ命令アドレスであり、また、該
DS213からEU280に送出されるIUセットアッ
プデータは、実行の対象となる命令のオペランドアドレ
スやオペランドデータ及びマイクロコードの実行に必要
な制御情報などである。
令解読器とセットアップデータ生成器の構成を示したも
のである。IU210は、命令語の読み出し要求を主記
憶等に対して行ない、該読み出された命令語を命令レジ
スタ(以降、IRという)211にセットした後、命令
解読器(以降、IDECという)212に送出する。I
DEC212は、該命令語の命令コードを解読して、該
命令コードや命令フォーマット、他の命令解読結果をセ
ットアップデータ生成器(以降、DSという)213に
送出する。DS213は、該命令語の命令解読結果を元
にセットアップデータを生成し、EU280及びCSA
R250に送出する。該DS213からCSAR250
に送出されるIUセットアップデータは、実行の対象と
なる命令の先頭マイクロ命令アドレスであり、また、該
DS213からEU280に送出されるIUセットアッ
プデータは、実行の対象となる命令のオペランドアドレ
スやオペランドデータ及びマイクロコードの実行に必要
な制御情報などである。
【0010】DS213は一般的には各命令コードをア
ドレスパラメータとする記憶装置で構成され、当該プロ
セッサ(情報処理装置)の命令アーキテクチャでサポー
トされているそれぞれの命令語に対応したIUセットア
ップデータ群を予め記憶装置内に格納しておき、前記I
Uセットアップデータの生成は、該記憶装置を読み出す
ことで行われる。
ドレスパラメータとする記憶装置で構成され、当該プロ
セッサ(情報処理装置)の命令アーキテクチャでサポー
トされているそれぞれの命令語に対応したIUセットア
ップデータ群を予め記憶装置内に格納しておき、前記I
Uセットアップデータの生成は、該記憶装置を読み出す
ことで行われる。
【0011】図4は、従来のこの種マイクロコードで命
令処理を実現している情報処理装置での複数のマイクロ
命令から構成されるマイクロコードの実行手順と複数の
マイクロ命令のつながりを示した図である。
令処理を実現している情報処理装置での複数のマイクロ
命令から構成されるマイクロコードの実行手順と複数の
マイクロ命令のつながりを示した図である。
【0012】図2および図3で説明したように、IU2
10は、命令の読み出し、その解読を行なった後、該命
令の先頭マイクロ命令アドレスに対応するIUセットア
ップアドレスを作成し、CSAR250に送出してセッ
トする。該CSAR250にセットされたIUセットア
ップアドレスを用いて、CS260から第1マイクロ命
令が読み出され、CSDR270にセットされる。該第
1マイクロ命令のBAフィールドは、次に実行すべき第
2マイクロ命令のCSアドレスを保持している。該第1
マイクロ命令のBAフィールドをCSAR250に送出
してセットし、該BAフィールドのアドレスを用いて第
2マイクロ命令をCS260から読み出す。ここで、第
2マイクロ命令以降のマイクロ命令のCS260からの
読み出しには、前記IUセットアップアドレスは使用さ
れない。前記第1マイクロ命令のBAフィールドを用い
てCS260から読み出され、CSDR270にセット
された第2マイクロ命令のBAフィールドは、同様に、
次に実行すべき第3マイクロ命令のCSアドレスを保持
しており、該第2マイクロ命令のBAフィールドをCS
AR250に送出してセットし、第3マイクロ命令をC
S260から読み出す。
10は、命令の読み出し、その解読を行なった後、該命
令の先頭マイクロ命令アドレスに対応するIUセットア
ップアドレスを作成し、CSAR250に送出してセッ
トする。該CSAR250にセットされたIUセットア
ップアドレスを用いて、CS260から第1マイクロ命
令が読み出され、CSDR270にセットされる。該第
1マイクロ命令のBAフィールドは、次に実行すべき第
2マイクロ命令のCSアドレスを保持している。該第1
マイクロ命令のBAフィールドをCSAR250に送出
してセットし、該BAフィールドのアドレスを用いて第
2マイクロ命令をCS260から読み出す。ここで、第
2マイクロ命令以降のマイクロ命令のCS260からの
読み出しには、前記IUセットアップアドレスは使用さ
れない。前記第1マイクロ命令のBAフィールドを用い
てCS260から読み出され、CSDR270にセット
された第2マイクロ命令のBAフィールドは、同様に、
次に実行すべき第3マイクロ命令のCSアドレスを保持
しており、該第2マイクロ命令のBAフィールドをCS
AR250に送出してセットし、第3マイクロ命令をC
S260から読み出す。
【0013】以上の動作を繰り返して、第nマイクロ命
令がCS260から読み出され、CSDR270にセッ
トされたとする。該CSDR270にセットされた第n
マイクロ命令のBAフィールドは、次に実行すべき第n
+1のマイクロ命令のCSのアドレスを保持しており、
該第nマイクロ命令のBAフィールドをCSAR250
に送出してセットし、第n+1マイクロ命令をCS26
0から読み出し、CSDR270にセットする。図3の
例では、該第n+1マイクロ命令は、一連の複数のマイ
クロ命令から構成されるマイクロコード処理手順の最後
のマイクロ命令である。この最後のマイクロ命令のEO
Pフィールドの値はオンが設定されているので、CSD
R270は、該マイクロ命令の次に実行すべきマイクロ
命令アドレスを保持しているBAフィールドをCSAR
250には送出せず、前記オンであるEOPフィールド
の値をIU210に送出し、IU210の次命令の読み
出しと解読動作を起動する。
令がCS260から読み出され、CSDR270にセッ
トされたとする。該CSDR270にセットされた第n
マイクロ命令のBAフィールドは、次に実行すべき第n
+1のマイクロ命令のCSのアドレスを保持しており、
該第nマイクロ命令のBAフィールドをCSAR250
に送出してセットし、第n+1マイクロ命令をCS26
0から読み出し、CSDR270にセットする。図3の
例では、該第n+1マイクロ命令は、一連の複数のマイ
クロ命令から構成されるマイクロコード処理手順の最後
のマイクロ命令である。この最後のマイクロ命令のEO
Pフィールドの値はオンが設定されているので、CSD
R270は、該マイクロ命令の次に実行すべきマイクロ
命令アドレスを保持しているBAフィールドをCSAR
250には送出せず、前記オンであるEOPフィールド
の値をIU210に送出し、IU210の次命令の読み
出しと解読動作を起動する。
【0014】図5は、従来のマイクロコードで命令処理
を実現している情報処理装置において、1つの命令機能
が複数のマイクロ命令から構成されるマイクロコード処
理手順で構成される場合の個々のマイクロ命令のCS内
での記述例を示した図である。
を実現している情報処理装置において、1つの命令機能
が複数のマイクロ命令から構成されるマイクロコード処
理手順で構成される場合の個々のマイクロ命令のCS内
での記述例を示した図である。
【0015】図5の(1)は、主記憶の2つの記憶領域
間のデータ移動を行なう機能を持つ命令Aを、複数のマ
イクロ命令機能の組合せで実現した場合の記述例であ
る。なお、最初のアドレスaaはIUのセットアップで
指定されるものである。
間のデータ移動を行なう機能を持つ命令Aを、複数のマ
イクロ命令機能の組合せで実現した場合の記述例であ
る。なお、最初のアドレスaaはIUのセットアップで
指定されるものである。
【0016】アドレスaa : マイクロ命令BOP
は、IUからセットアップされる命令実行の開始に必要
な命令語のオペランドのパラメータをEU内のハードウ
ェアに設定させる。本例では、データの移動元及び移動
先の主記憶内の記憶領域アドレスとデータの長さが、I
Uセットアップデータである命令語のオペランドのパラ
メータとしてEU内のハードウェアに設定される。その
後、アドレスabに分岐する。
は、IUからセットアップされる命令実行の開始に必要
な命令語のオペランドのパラメータをEU内のハードウ
ェアに設定させる。本例では、データの移動元及び移動
先の主記憶内の記憶領域アドレスとデータの長さが、I
Uセットアップデータである命令語のオペランドのパラ
メータとしてEU内のハードウェアに設定される。その
後、アドレスabに分岐する。
【0017】アドレスab : マイクロ命令CCは、
EU内のハードウェアであるカウンタをクリアする。そ
の後、アドレスacに分岐する。
EU内のハードウェアであるカウンタをクリアする。そ
の後、アドレスacに分岐する。
【0018】アドレスac : マイクロ命令Lは、ア
ドレスaaのマイクロ命令BOPでEU内のハードウェ
アにセットアップされたデータの主記憶内の移動元記憶
領域アドレスを用いて、指定された記憶データをEU内
のハードウェアレジスタにロードする。その後、アドレ
スadに分岐する。
ドレスaaのマイクロ命令BOPでEU内のハードウェ
アにセットアップされたデータの主記憶内の移動元記憶
領域アドレスを用いて、指定された記憶データをEU内
のハードウェアレジスタにロードする。その後、アドレ
スadに分岐する。
【0019】アドレスad : マイクロ命令STは、
アドレスaaのマイクロ命令BOPによりEU内のハー
ドウェアにセットアップされたデータの主記憶内の移動
先記憶領域アドレスを用いて、EU内のハードウェアレ
ジスタにアドレスacのマイクロ命令Lでロードされた
データを、該指定された主記憶内の記憶領域にストアす
る。その後、アドレスaeに分岐する。
アドレスaaのマイクロ命令BOPによりEU内のハー
ドウェアにセットアップされたデータの主記憶内の移動
先記憶領域アドレスを用いて、EU内のハードウェアレ
ジスタにアドレスacのマイクロ命令Lでロードされた
データを、該指定された主記憶内の記憶領域にストアす
る。その後、アドレスaeに分岐する。
【0020】アドレスae : マイクロ命令MCは、
EU内のハードウェアである転送済みデータ長を保持し
ているカウンタを、アドレスadのマイクロ命令STで
ストアされたデータ長の値を用いて更新する。その後、
アドレスafに分岐する。
EU内のハードウェアである転送済みデータ長を保持し
ているカウンタを、アドレスadのマイクロ命令STで
ストアされたデータ長の値を用いて更新する。その後、
アドレスafに分岐する。
【0021】アドレスaf : マイクロ命令TCは、
アドレスaeのマイクロ命令MCで更新されたEU内の
ハードウェアである転送済みデータ長を保持しているカ
ウンタとアドレスaaのマイクロ命令BOPでEU内の
ハードウェアレジスタに設定された命令語のオペランド
で指定されたデータの長さとを比較する。その後、アド
レスagに分岐する。
アドレスaeのマイクロ命令MCで更新されたEU内の
ハードウェアである転送済みデータ長を保持しているカ
ウンタとアドレスaaのマイクロ命令BOPでEU内の
ハードウェアレジスタに設定された命令語のオペランド
で指定されたデータの長さとを比較する。その後、アド
レスagに分岐する。
【0022】アドレスag : マイクロ命令BCは、
アドレスafのマイクロ命令TCでの比較の結果を調
べ、該比較結果が一致であればアドレスakに分岐し、
不一致であれば通常の実行順であるアドレスahに分岐
する。
アドレスafのマイクロ命令TCでの比較の結果を調
べ、該比較結果が一致であればアドレスakに分岐し、
不一致であれば通常の実行順であるアドレスahに分岐
する。
【0023】アドレスah : マイクロ命令MAは、
アドレスacのマイクロ命令Lで使用したところのEU
内のハードウェアに保持されているデータの主記憶内の
移動元記憶領域アドレスを次の主記憶内の移動元記憶領
域アドレスに更新する。その後、アドレスaiに分岐す
る。
アドレスacのマイクロ命令Lで使用したところのEU
内のハードウェアに保持されているデータの主記憶内の
移動元記憶領域アドレスを次の主記憶内の移動元記憶領
域アドレスに更新する。その後、アドレスaiに分岐す
る。
【0024】アドレスai : マイクロ命令MAは、
アドレスadのマイクロ命令STで使用したところのE
U内のハードウェアに保持されているデータの主記憶内
の移動先記憶領域アドレスを次の主記憶内の移動先記憶
領域アドレスに更新する。その後、アドレスajに分岐
する。
アドレスadのマイクロ命令STで使用したところのE
U内のハードウェアに保持されているデータの主記憶内
の移動先記憶領域アドレスを次の主記憶内の移動先記憶
領域アドレスに更新する。その後、アドレスajに分岐
する。
【0025】アドレスaj : マイクロ命令BCは、
このステップでは、無条件にアドレスacに分岐させる
用途に使用される。したがって、アドレスacに分岐
し、その後、アドレスagのマイクロ命令BCで一致が
検出されるまで、アドレスac〜ajをループする。
このステップでは、無条件にアドレスacに分岐させる
用途に使用される。したがって、アドレスacに分岐
し、その後、アドレスagのマイクロ命令BCで一致が
検出されるまで、アドレスac〜ajをループする。
【0026】アドレスak : マイクロ命令EOP
は、現在実行している命令機能を構成する複数のマイク
ロ命令の処理手順の実行の終了を示し、現在実行してい
る命令の次の命令の実行の開始に必要なオペランドのパ
ラメータをEU内のハードウェアにセットアップさせる
ため、IUからEUに対するセットアップ動作を起動す
る。このステップでのマイクロ命令での分岐動作は無
い。
は、現在実行している命令機能を構成する複数のマイク
ロ命令の処理手順の実行の終了を示し、現在実行してい
る命令の次の命令の実行の開始に必要なオペランドのパ
ラメータをEU内のハードウェアにセットアップさせる
ため、IUからEUに対するセットアップ動作を起動す
る。このステップでのマイクロ命令での分岐動作は無
い。
【0027】図5の(2)は、主記憶の2つの記憶領域
間のデータ排他的論理和を行う機能を持つ命令Bを、複
数のマイクロ命令機能の組合せで実現した場合の記述例
である。ここでも、最初のアドレスbaはIUのセット
アップアドレスで指定される。
間のデータ排他的論理和を行う機能を持つ命令Bを、複
数のマイクロ命令機能の組合せで実現した場合の記述例
である。ここでも、最初のアドレスbaはIUのセット
アップアドレスで指定される。
【0028】アドレスba : マイクロ命令BOP
は、IUからセットアップされる命令実行の開始に必要
な命令語のオペランドのパラメータをEU内のハードウ
ェアに設定させる。本例では、第1データの読み出し元
と第2データの読み出し元及び格納先の主記憶内の記憶
領域アドレスとデータの長さが、IUセットアップデー
タである命令語のオペランドのパラメータとしてEU内
のハードウェアに設定される。その後、アドレスbbに
分岐する。
は、IUからセットアップされる命令実行の開始に必要
な命令語のオペランドのパラメータをEU内のハードウ
ェアに設定させる。本例では、第1データの読み出し元
と第2データの読み出し元及び格納先の主記憶内の記憶
領域アドレスとデータの長さが、IUセットアップデー
タである命令語のオペランドのパラメータとしてEU内
のハードウェアに設定される。その後、アドレスbbに
分岐する。
【0029】アドレスbb : マイクロ命令CCは、
EU内のハードウェアであるカウンタをクリアする。そ
の後、アドレスbcに分岐する。
EU内のハードウェアであるカウンタをクリアする。そ
の後、アドレスbcに分岐する。
【0030】アドレスbc : マイクロ命令Lは、ア
ドレスbaのマイクロ命令BOPでEU内のハードウェ
アにセットアップされた第1データの主記憶内の読み出
し元記憶領域アドレスを用いて、指定された記憶データ
(第1データ)をEU内のハードウェアレジスタにロー
ドする。その後、アドレスbdに分岐する。
ドレスbaのマイクロ命令BOPでEU内のハードウェ
アにセットアップされた第1データの主記憶内の読み出
し元記憶領域アドレスを用いて、指定された記憶データ
(第1データ)をEU内のハードウェアレジスタにロー
ドする。その後、アドレスbdに分岐する。
【0031】アドレスbd : マイクロ命令Lは、ア
ドレスbaのマイクロ命令BOPでEU内のハードウェ
アに設定された第2データの読み出し元及び格納先の記
憶領域アドレスを用いて、指定された記憶データ(第2
データ)をEU内のハードウェアレジスタにロードす
る。その後、アドレスbeに分岐する。
ドレスbaのマイクロ命令BOPでEU内のハードウェ
アに設定された第2データの読み出し元及び格納先の記
憶領域アドレスを用いて、指定された記憶データ(第2
データ)をEU内のハードウェアレジスタにロードす
る。その後、アドレスbeに分岐する。
【0032】アドレスbe : マイクロ命令XRは、
アドレスbcのマイクロ命令LでEU内のハードウェア
レジスタにロードされた第1データとアドレスbdのマ
イクロ命令LでEU内のハードウェアレジスタにロード
された第2データの排他的論理和をとり、結果をEU内
のハードウェアレジスタに置く。その後、アドレスbf
に分岐する。
アドレスbcのマイクロ命令LでEU内のハードウェア
レジスタにロードされた第1データとアドレスbdのマ
イクロ命令LでEU内のハードウェアレジスタにロード
された第2データの排他的論理和をとり、結果をEU内
のハードウェアレジスタに置く。その後、アドレスbf
に分岐する。
【0033】アドレスbf : マイクロ命令STは、
アドレスbaのマイクロ命令BOPでEU内のハードウ
ェアにセットアップされた第2データの主記憶内の読み
出し元及び格納先の記憶領域アドレスを用いて、アドレ
スbeのマイクロ命令XRで得られEU内のハードウェ
アレジスタに置かれた排他的論理和の結果を、主記憶内
の該指定された記憶領域にストアする。
アドレスbaのマイクロ命令BOPでEU内のハードウ
ェアにセットアップされた第2データの主記憶内の読み
出し元及び格納先の記憶領域アドレスを用いて、アドレ
スbeのマイクロ命令XRで得られEU内のハードウェ
アレジスタに置かれた排他的論理和の結果を、主記憶内
の該指定された記憶領域にストアする。
【0034】その後、アドレスbgに分岐する。
【0035】アドレスbg : マイクロ命令MCは、
EU内のハードウェアである処理済みデータ長を保持し
ているカウンタをアドレスbfのマイクロ命令STでス
トアされたデータ長の値を用いて更新する。その後、ア
ドレスbhに分岐する。
EU内のハードウェアである処理済みデータ長を保持し
ているカウンタをアドレスbfのマイクロ命令STでス
トアされたデータ長の値を用いて更新する。その後、ア
ドレスbhに分岐する。
【0036】アドレスbh : マイクロ命令TCは、
アドレスbgのマイクロ命令MCで更新されたEU内の
ハードウェアである処理済みデータ長を保持しているカ
ウンタと、アドレスbaのマイクロ命令BOPでEU内
のハードウェアにセットアップされたデータの長さとを
比較する。その後、アドレスbiに分岐する。
アドレスbgのマイクロ命令MCで更新されたEU内の
ハードウェアである処理済みデータ長を保持しているカ
ウンタと、アドレスbaのマイクロ命令BOPでEU内
のハードウェアにセットアップされたデータの長さとを
比較する。その後、アドレスbiに分岐する。
【0037】アドレスbi : マイクロ命令BCは、
アドレスbhのマイクロ命令TCでの比較の結果を調
べ、該比較結果が一致であればアドレスbmに分岐し、
不一致であれば通常の実行順番であるアドレスbcに分
岐する。
アドレスbhのマイクロ命令TCでの比較の結果を調
べ、該比較結果が一致であればアドレスbmに分岐し、
不一致であれば通常の実行順番であるアドレスbcに分
岐する。
【0038】アドレスbj : マイクロ命令MAは、
アドレスbcのマイクロ命令Lで使用したEU内のハー
ドウェアに保持されている第1データの主記憶内の読み
出し元記憶領域アドレスを、次の読み出し元記憶領域ア
ドレスに更新する。その後、アドレスbkに分岐する。
アドレスbcのマイクロ命令Lで使用したEU内のハー
ドウェアに保持されている第1データの主記憶内の読み
出し元記憶領域アドレスを、次の読み出し元記憶領域ア
ドレスに更新する。その後、アドレスbkに分岐する。
【0039】アドレスbk : マイクロ命令MAは、
アドレスbdのマイクロ命令L及びアドレスbfのマイ
クロ命令STで使用したEU内のハードウェアに保持さ
れている主記憶内の第2データの読み出し元及び格納先
の記憶領域アドレスを、次の読み出し元及び格納先記憶
領域アドレスに更新する。その後、アドレスblに分岐
する。
アドレスbdのマイクロ命令L及びアドレスbfのマイ
クロ命令STで使用したEU内のハードウェアに保持さ
れている主記憶内の第2データの読み出し元及び格納先
の記憶領域アドレスを、次の読み出し元及び格納先記憶
領域アドレスに更新する。その後、アドレスblに分岐
する。
【0040】アドレスbl : マイクロ命令BCは、
このステップでは無条件にアドレスbcに分岐させる用
途に使用される。したがって、アドレスbcに分岐し、
その後、アドレスbiのマイクロ命令BCで一致が検出
されるまで、アドレスbc〜blをループする。
このステップでは無条件にアドレスbcに分岐させる用
途に使用される。したがって、アドレスbcに分岐し、
その後、アドレスbiのマイクロ命令BCで一致が検出
されるまで、アドレスbc〜blをループする。
【0041】アドレスbm : マイクロ命令EOP
は、現在実行している命令機能を構成する複数のマイク
ロ命令の処理手順の実行の終了を示し、現在実行してい
る命令の次の命令の実行の開始に必要なオペランドのパ
ラメータをEU内のハードウェアにセットアップさせる
ため、IUからのセットアップ動作を起動する。このス
テップでのマイクロ命令での分岐動作は無い。
は、現在実行している命令機能を構成する複数のマイク
ロ命令の処理手順の実行の終了を示し、現在実行してい
る命令の次の命令の実行の開始に必要なオペランドのパ
ラメータをEU内のハードウェアにセットアップさせる
ため、IUからのセットアップ動作を起動する。このス
テップでのマイクロ命令での分岐動作は無い。
【0042】以上述べた如く、従来技術のマイクロコー
ドで命令処理を実現している情報処理装置においては、
命令機能を複数のマイクロ命令の複数の機能を組み合わ
せて実現した場合、同一マイクロ命令を異なるCSアド
レス上に複数個格納しておく必要があった。例えば、図
5に示すごとく、記憶領域間のデータ移動を行なう機能
を持つ命令Aと記憶領域間のデータの排他的論理和を行
なう機能を持つ命令Bを、それぞれ複数のマイクロ命令
機能の組合せで実現した場合、BOP,CC,ST,M
C,TC,EOPなるマイクロ命令は2ヵ所で使用さ
れ、Lなるマイクロ命令は3ヵ所で使用され、そして、
BCとMAなるマイクロ命令は4ヵ所で使用される。つ
まり、10種類のマイクロ命令が22ヵ所の異なるCS
アドレス上に重複して格納されている。
ドで命令処理を実現している情報処理装置においては、
命令機能を複数のマイクロ命令の複数の機能を組み合わ
せて実現した場合、同一マイクロ命令を異なるCSアド
レス上に複数個格納しておく必要があった。例えば、図
5に示すごとく、記憶領域間のデータ移動を行なう機能
を持つ命令Aと記憶領域間のデータの排他的論理和を行
なう機能を持つ命令Bを、それぞれ複数のマイクロ命令
機能の組合せで実現した場合、BOP,CC,ST,M
C,TC,EOPなるマイクロ命令は2ヵ所で使用さ
れ、Lなるマイクロ命令は3ヵ所で使用され、そして、
BCとMAなるマイクロ命令は4ヵ所で使用される。つ
まり、10種類のマイクロ命令が22ヵ所の異なるCS
アドレス上に重複して格納されている。
【0043】情報処理装置の命令語が通常、数百命令か
らなることを考慮すると、同一マイクロ命令を異なるC
Sアドレス上に重複して格納することは、マイクロ命令
の種類数と比較して極めて大容量のCSが要求されると
いう結果をもたらす。
らなることを考慮すると、同一マイクロ命令を異なるC
Sアドレス上に重複して格納することは、マイクロ命令
の種類数と比較して極めて大容量のCSが要求されると
いう結果をもたらす。
【0044】この大容量のCSの設置の要求は、情報処
理装置が使用するマイクロ命令の語長が、通常の情報処
理装置が使用する機械語レベルの命令語長と比較して極
めて長いため、物理的なCSのサイズの増大を招くこと
になり、この物理的なCSのサイズの増大は、複数のメ
モリチップを用いてCSを構成せざるを得ないという結
果をもたらし、CSを複数のメモリチップを用いて構成
する事は、情報処理装置のハードウェアによるCSに対
するアクセス時間の増大に直結し、このCSに対するア
クセス時間の増大は、マイクロコード制御で命令処理を
行なう情報処理装置の性能を向上を図る上で無視しえな
い重要な問題である。
理装置が使用するマイクロ命令の語長が、通常の情報処
理装置が使用する機械語レベルの命令語長と比較して極
めて長いため、物理的なCSのサイズの増大を招くこと
になり、この物理的なCSのサイズの増大は、複数のメ
モリチップを用いてCSを構成せざるを得ないという結
果をもたらし、CSを複数のメモリチップを用いて構成
する事は、情報処理装置のハードウェアによるCSに対
するアクセス時間の増大に直結し、このCSに対するア
クセス時間の増大は、マイクロコード制御で命令処理を
行なう情報処理装置の性能を向上を図る上で無視しえな
い重要な問題である。
【0045】更に、単一プロセッサで複数の命令アーキ
テクチャを持つマイクロコードで命令処理を実現する情
報処理装置を実現する場合には、前記の極めて大容量の
CSが要求されるという問題が数倍のレンジで問題化
し、プロセッサのチップ面積の物理的制約から現実とし
て単一プロセッサで複数の命令アーキテクチャを持つマ
イクロコードで命令処理を実現する情報処理装置の実用
化を阻んでおり、これは無視し得ない非常に重大な技術
的障壁であった。
テクチャを持つマイクロコードで命令処理を実現する情
報処理装置を実現する場合には、前記の極めて大容量の
CSが要求されるという問題が数倍のレンジで問題化
し、プロセッサのチップ面積の物理的制約から現実とし
て単一プロセッサで複数の命令アーキテクチャを持つマ
イクロコードで命令処理を実現する情報処理装置の実用
化を阻んでおり、これは無視し得ない非常に重大な技術
的障壁であった。
【0046】次に、従来のハードウェアロジックにて命
令処理を実現している情報処理装置の命令読出し実行機
構及びマルチ命令アーキテクチャプロセッサに適用した
場合の問題点について説明する。
令処理を実現している情報処理装置の命令読出し実行機
構及びマルチ命令アーキテクチャプロセッサに適用した
場合の問題点について説明する。
【0047】図9は、従来のハードウェアロジックにて
命令処理を実現する情報処理装置における命令の読出し
及び解読それに命令語の実行に必要なパラメータ群を生
成するIUの構成例を示したブロック図である。
命令処理を実現する情報処理装置における命令の読出し
及び解読それに命令語の実行に必要なパラメータ群を生
成するIUの構成例を示したブロック図である。
【0048】図9において、IU910は、命令語の読
み出し要求を主記憶等に行い、該読み出された命令語を
IR911にセットした後、IDEC912に送出す
る。IDEC912は、該命令語の命令コードを解読し
て、該命令コードや命令フォーマット、他の命令解読結
果をDS913に送出する。DS913は、該命令の命
令解読結果を元にセットアップデータを生成し、EUに
送出する。該DS913からEUに送出されるIUセッ
トアップデータは、実行の対象となる命令のオペランド
アドレスやオペランドデータ及び命令の実行に必要な命
令実行タイプや命令実行手順の指定などである。
み出し要求を主記憶等に行い、該読み出された命令語を
IR911にセットした後、IDEC912に送出す
る。IDEC912は、該命令語の命令コードを解読し
て、該命令コードや命令フォーマット、他の命令解読結
果をDS913に送出する。DS913は、該命令の命
令解読結果を元にセットアップデータを生成し、EUに
送出する。該DS913からEUに送出されるIUセッ
トアップデータは、実行の対象となる命令のオペランド
アドレスやオペランドデータ及び命令の実行に必要な命
令実行タイプや命令実行手順の指定などである。
【0049】DS913は、一般的には各命令語の命令
コードをアドレスパラメータとする記憶装置で構成され
るか又は各命令語の命令コードを入力データとするエン
コード論理回路から成るエンコーダで構成される。各命
令語の命令コードをアドレスパラメータとする記憶装置
で構成される場合、当該命令プロセッサ(情報処理装
置)の命令アーキテクチャでサポートされているそれぞ
れの命令語に対応したIUセットアップデータ群を予め
記憶装置内に格納しておき、前記IUセットアップデー
タの生成は、該記憶装置を読み出すことで行われる。ま
た、各命令語の命令コードを入力データとするエンコー
ド論理回路から成るエンコーダで構成される場合、当該
命令プロセッサの命令アーキテクチャでサポートされて
いるそれぞれの命令語に対応したIUセットアップデー
タ群を出力するようエンコード論理回路を構成してお
き、前記IUセットアップデータの生成は、前記エンコ
ーダの出力をそのままIUセットアップデータとして使
用することで行われる。
コードをアドレスパラメータとする記憶装置で構成され
るか又は各命令語の命令コードを入力データとするエン
コード論理回路から成るエンコーダで構成される。各命
令語の命令コードをアドレスパラメータとする記憶装置
で構成される場合、当該命令プロセッサ(情報処理装
置)の命令アーキテクチャでサポートされているそれぞ
れの命令語に対応したIUセットアップデータ群を予め
記憶装置内に格納しておき、前記IUセットアップデー
タの生成は、該記憶装置を読み出すことで行われる。ま
た、各命令語の命令コードを入力データとするエンコー
ド論理回路から成るエンコーダで構成される場合、当該
命令プロセッサの命令アーキテクチャでサポートされて
いるそれぞれの命令語に対応したIUセットアップデー
タ群を出力するようエンコード論理回路を構成してお
き、前記IUセットアップデータの生成は、前記エンコ
ーダの出力をそのままIUセットアップデータとして使
用することで行われる。
【0050】図10は、情報処理装置が単一な命令アー
キテクチャの命令処理を行う場合の情報処理装置とその
上で動作するオペレーティングシステムとアプリケーシ
ョンプログラムの構成とそれぞれの関係を示した図であ
る。図10において、情報処理装置である命令プロセッ
サ(以降、IPという)1010の上では、IPが基本
的にサポートしている命令アーキテクチャから成るオペ
レーティングシステム(以降、OSという)1020と
このOS1020の制御の元で前述の命令アーキテクチ
ャから成る任意の数のアプリケーションプログラム(以
降、APGMという)1030が動作している。これ
が、情報処理装置の基本的な運用形態の構成である。
キテクチャの命令処理を行う場合の情報処理装置とその
上で動作するオペレーティングシステムとアプリケーシ
ョンプログラムの構成とそれぞれの関係を示した図であ
る。図10において、情報処理装置である命令プロセッ
サ(以降、IPという)1010の上では、IPが基本
的にサポートしている命令アーキテクチャから成るオペ
レーティングシステム(以降、OSという)1020と
このOS1020の制御の元で前述の命令アーキテクチ
ャから成る任意の数のアプリケーションプログラム(以
降、APGMという)1030が動作している。これ
が、情報処理装置の基本的な運用形態の構成である。
【0051】図11は、情報処理装置の上で動作するO
SとAPGMが、IPが基本的にサポートしている命令
アーキテクチャとは異なる複数の命令アーキテクチャを
持つ場合の、IPとその上で動作するOSとAPGMの
構成とそれぞれの関係を示した図である。
SとAPGMが、IPが基本的にサポートしている命令
アーキテクチャとは異なる複数の命令アーキテクチャを
持つ場合の、IPとその上で動作するOSとAPGMの
構成とそれぞれの関係を示した図である。
【0052】一般的に、単一のIP上で複数の異なる命
令アーキテクチャを持つ命令を使用するOSを動作させ
る方法として仮想計算機(以降、VMという)と呼ばれ
る手法が用いられる。VMを単一のIP上で実現する為
に、仮想計算機制御プログラム(以降、ハイパバイザ又
はVMCPという)と呼ばれるプログラムをIP上で動
作させ、このハイパバイザの制御の下で複数の異なる命
令アーキテクチャを持つVMを生成し、更に、この各々
のVMの上で異なる命令アーキテクチャの命令を使用す
る独立したOSを動作させる。従ってハイパバイザに
は、単一のIPのハ−ドウェア資源を各々のVMに共用
させて使用させる機能及び異なる命令アーキテクチャの
命令を実行する機能が付加されている。
令アーキテクチャを持つ命令を使用するOSを動作させ
る方法として仮想計算機(以降、VMという)と呼ばれ
る手法が用いられる。VMを単一のIP上で実現する為
に、仮想計算機制御プログラム(以降、ハイパバイザ又
はVMCPという)と呼ばれるプログラムをIP上で動
作させ、このハイパバイザの制御の下で複数の異なる命
令アーキテクチャを持つVMを生成し、更に、この各々
のVMの上で異なる命令アーキテクチャの命令を使用す
る独立したOSを動作させる。従ってハイパバイザに
は、単一のIPのハ−ドウェア資源を各々のVMに共用
させて使用させる機能及び異なる命令アーキテクチャの
命令を実行する機能が付加されている。
【0053】図11において、IP1140の上では、
IPが基本的にサポートしている命令アーキテクチャの
タイプがaから成るハイパバイザ1130が動作してお
り、このハイパバイザ1130の上では、命令アーキテ
クチャのタイプがaであるOSa1120と命令アーキ
テクチャのタイプがbであるOSb1121及び命令ア
ーキテクチャのタイプがcであるスタンドアロンタイプ
のアプリケーションプログラム群であるAPGM群c1
125が動作している。また、OSa1120の上で
は、命令アーキテクチャのタイプがaであるAPGM群
a1110が動作し、OSb1111の上では、命令ア
ーキテクチャのタイプがbであるAPGM群ba111
1が動作している。
IPが基本的にサポートしている命令アーキテクチャの
タイプがaから成るハイパバイザ1130が動作してお
り、このハイパバイザ1130の上では、命令アーキテ
クチャのタイプがaであるOSa1120と命令アーキ
テクチャのタイプがbであるOSb1121及び命令ア
ーキテクチャのタイプがcであるスタンドアロンタイプ
のアプリケーションプログラム群であるAPGM群c1
125が動作している。また、OSa1120の上で
は、命令アーキテクチャのタイプがaであるAPGM群
a1110が動作し、OSb1111の上では、命令ア
ーキテクチャのタイプがbであるAPGM群ba111
1が動作している。
【0054】ハイパバイザ1130の上で、命令アーキ
テクチャのタイプがaであるOSa1120とAPGM
群a1110が動作する場合は、OSa1120とAP
GM群a1110が発行する殆どの命令は、IP111
10によって直接実行が可能であり、直接実行が不可能
なものは割り込み処理とハードウェア資源に影響を及ぼ
す一部の命令である。直接実行が不可能な前記の処理
は、割り込みの1つの形態であるインターセプションな
る手段を用いて制御をハイパバイザ1130に渡し、ハ
イパバイザ1130のシミュレーション機能によってシ
ミュレートされる事で実現される。
テクチャのタイプがaであるOSa1120とAPGM
群a1110が動作する場合は、OSa1120とAP
GM群a1110が発行する殆どの命令は、IP111
10によって直接実行が可能であり、直接実行が不可能
なものは割り込み処理とハードウェア資源に影響を及ぼ
す一部の命令である。直接実行が不可能な前記の処理
は、割り込みの1つの形態であるインターセプションな
る手段を用いて制御をハイパバイザ1130に渡し、ハ
イパバイザ1130のシミュレーション機能によってシ
ミュレートされる事で実現される。
【0055】ハイパバイザ1130の上で、命令アーキ
テクチャのタイプがbであるOSb1121とAPGM
群b1111が動作する場合は、OSb1121とAP
GM群b1111が発行する全ての命令と割り込みのI
P1140による直接実行は不可能であり、直接実行が
不可能な前記の処理は、インターセプションなる手段を
用いて制御をハイパバイザ1130に渡し、ハイパバイ
ザ1130のシミュレーション機能によってシミュレー
トされる事で実現される。同様に、ハイパバイザ113
0の上で、命令アーキテクチャのタイプがcであるAP
GM群c1125が動作する場合も、APGM群c11
25が発行する全ての命令と割り込みのIP1140に
よる直接実行は不可能であり、インターセプションなる
手段を用いて制御をハイパバイザ1130に渡し、ハイ
パバイザ1130のシミュレーション機能によってシミ
ュレートされる事で実現される。
テクチャのタイプがbであるOSb1121とAPGM
群b1111が動作する場合は、OSb1121とAP
GM群b1111が発行する全ての命令と割り込みのI
P1140による直接実行は不可能であり、直接実行が
不可能な前記の処理は、インターセプションなる手段を
用いて制御をハイパバイザ1130に渡し、ハイパバイ
ザ1130のシミュレーション機能によってシミュレー
トされる事で実現される。同様に、ハイパバイザ113
0の上で、命令アーキテクチャのタイプがcであるAP
GM群c1125が動作する場合も、APGM群c11
25が発行する全ての命令と割り込みのIP1140に
よる直接実行は不可能であり、インターセプションなる
手段を用いて制御をハイパバイザ1130に渡し、ハイ
パバイザ1130のシミュレーション機能によってシミ
ュレートされる事で実現される。
【0056】次に、図12と図13を用いて、従来のハ
ードウエァロジックにて命令処理を実現している情報処
理装置において、ハイパバイザのシミュレータ又はイン
タプリタが異なる命令アーキテクチャの命令を実行する
場合の実現方法と構成を説明する。
ードウエァロジックにて命令処理を実現している情報処
理装置において、ハイパバイザのシミュレータ又はイン
タプリタが異なる命令アーキテクチャの命令を実行する
場合の実現方法と構成を説明する。
【0057】図12は、命令アーキテクチャbのプログ
ラムを命令アーキテクチャaのみをサポートしているI
Pで実行する場合、インタープリタなる手段を使って実
行するときの各機能モジュールの構成と各々の機能モジ
ュールの役割を示した図である。
ラムを命令アーキテクチャaのみをサポートしているI
Pで実行する場合、インタープリタなる手段を使って実
行するときの各機能モジュールの構成と各々の機能モジ
ュールの役割を示した図である。
【0058】図12に於いて、命令アーキテクチャbの
命令又は命令列でプログラミングされた処理手順121
0は、実行時に、実行に即した最小単位である命令アー
キテクチャbの命令又は命令ステップに分割されてイン
タプリタ1220に入力され、この入力された命令アー
キテクチャbの命令又は命令ステップは、インタプリタ
1220によって、命令アーキテクチャaの命令又は命
令列とに翻訳される。インタプリタ1220には、命令
アーキテクチャaの命令列で構成された翻訳手順が格納
されている。
命令又は命令列でプログラミングされた処理手順121
0は、実行時に、実行に即した最小単位である命令アー
キテクチャbの命令又は命令ステップに分割されてイン
タプリタ1220に入力され、この入力された命令アー
キテクチャbの命令又は命令ステップは、インタプリタ
1220によって、命令アーキテクチャaの命令又は命
令列とに翻訳される。インタプリタ1220には、命令
アーキテクチャaの命令列で構成された翻訳手順が格納
されている。
【0059】インタプリタ1220で翻訳された命令ア
ーキテクチャaの命令又は命令列は、インタープリタ1
220から出力されたオブジェクトコードであり、デー
タセット1240に格納され、命令アーキテクチャbの
命令又は命令ステップがオペランドとする命令アーキテ
クチャbのデータ群は、命令アーキテクチャaのデータ
群に翻訳されて、データセット1250に格納される。
インタプリタ1220は更に、この翻訳時にデータセッ
ト1230に対し、命令アーキテクチャbの命令又は命
令ステップに対応するリンケージパラメータ群と命令ア
ーキテクチャbに対応したデータ群を出力する。更に、
インタプリタ1220は、データセット1230に格納
されている命令アーキテクチャbの命令又は命令ステッ
プに対応するリンケージパラメータ群と命令アーキテク
チャbに対応したデータ群を参照しながら、この命令ア
ーキテクチャbに対応したデータ群を命令アーキテクチ
ャaに対応したデータ群に翻訳してデータセット125
0に格納する。
ーキテクチャaの命令又は命令列は、インタープリタ1
220から出力されたオブジェクトコードであり、デー
タセット1240に格納され、命令アーキテクチャbの
命令又は命令ステップがオペランドとする命令アーキテ
クチャbのデータ群は、命令アーキテクチャaのデータ
群に翻訳されて、データセット1250に格納される。
インタプリタ1220は更に、この翻訳時にデータセッ
ト1230に対し、命令アーキテクチャbの命令又は命
令ステップに対応するリンケージパラメータ群と命令ア
ーキテクチャbに対応したデータ群を出力する。更に、
インタプリタ1220は、データセット1230に格納
されている命令アーキテクチャbの命令又は命令ステッ
プに対応するリンケージパラメータ群と命令アーキテク
チャbに対応したデータ群を参照しながら、この命令ア
ーキテクチャbに対応したデータ群を命令アーキテクチ
ャaに対応したデータ群に翻訳してデータセット125
0に格納する。
【0060】次に、命令の実行制御は、インタプリタ1
220からデータセット1240に格納されているオブ
ジェクトコードに移され、IP1260は、データセッ
ト1240とデータセット1250を参照しながら、前
記オブジェクトコードの処理手順に従い所定の命令処理
を実行する。オブジェクトコードの処理手順に従った命
令処理の実行を終了すると、命令の実行制御は、データ
セット1240に格納されているオブジェクトコードか
らインタプリタ1220に移され、データセット125
0に格納された処理の結果である命令アーキテクチャa
に対応したデータ群を命令アーキテクチャbに対応した
データ群に前記リンケージパラメータ群を参照しながら
逆翻訳し、処理手順1210の切り出された命令アーキ
テクチャbの命令又は命令ステップの結果オペランドと
する。
220からデータセット1240に格納されているオブ
ジェクトコードに移され、IP1260は、データセッ
ト1240とデータセット1250を参照しながら、前
記オブジェクトコードの処理手順に従い所定の命令処理
を実行する。オブジェクトコードの処理手順に従った命
令処理の実行を終了すると、命令の実行制御は、データ
セット1240に格納されているオブジェクトコードか
らインタプリタ1220に移され、データセット125
0に格納された処理の結果である命令アーキテクチャa
に対応したデータ群を命令アーキテクチャbに対応した
データ群に前記リンケージパラメータ群を参照しながら
逆翻訳し、処理手順1210の切り出された命令アーキ
テクチャbの命令又は命令ステップの結果オペランドと
する。
【0061】図13は、命令アーキテクチャbのプログ
ラムを命令アーキテクチャaのみをサポートしているI
Pで実行する場合、シミュレータなる手段を使って実行
するときの各機能モジュールの構成と各々の機能モジュ
ールの役割を示した図である。
ラムを命令アーキテクチャaのみをサポートしているI
Pで実行する場合、シミュレータなる手段を使って実行
するときの各機能モジュールの構成と各々の機能モジュ
ールの役割を示した図である。
【0062】図13に於いて、命令アーキテクチャbの
命令又は命令列でプログラミングされた処理手順131
0は、実行時に、実行に即した最小単位である命令アー
キテクチャbの命令としてシミュレータ1320に入力
され、この入力された命令アーキテクチャbの命令は、
シミュレータ1320によって、命令アーキテクチャa
の命令又は命令列とに翻訳される。シミュレータ132
0には、命令アーキテクチャaの命令列で構成された翻
訳手順が格納されている。この翻訳された命令アーキテ
クチャaの命令又は命令列は、シミュレータ1320に
予め組み込まれたオブジェクトコードである。
命令又は命令列でプログラミングされた処理手順131
0は、実行時に、実行に即した最小単位である命令アー
キテクチャbの命令としてシミュレータ1320に入力
され、この入力された命令アーキテクチャbの命令は、
シミュレータ1320によって、命令アーキテクチャa
の命令又は命令列とに翻訳される。シミュレータ132
0には、命令アーキテクチャaの命令列で構成された翻
訳手順が格納されている。この翻訳された命令アーキテ
クチャaの命令又は命令列は、シミュレータ1320に
予め組み込まれたオブジェクトコードである。
【0063】シミュレータ1320は、その処理手順を
実行する段階でデータセット1330に対し、命令アー
キテクチャbの命令に対応するリンケージパラメータ群
と命令アーキテクチャbに対応したデータ群を出力す
る。更に、シミュレータ1320は、データセット13
30に格納されている命令アーキテクチャbの命令に対
応するリンケージパラメータ群と命令アーキテクチャb
に対応したデータ群を参照しながら、この命令アーキテ
クチャbに対応したデータ群を命令アーキテクチャaに
対応したデータ群に変換してデータセット1340に格
納する。
実行する段階でデータセット1330に対し、命令アー
キテクチャbの命令に対応するリンケージパラメータ群
と命令アーキテクチャbに対応したデータ群を出力す
る。更に、シミュレータ1320は、データセット13
30に格納されている命令アーキテクチャbの命令に対
応するリンケージパラメータ群と命令アーキテクチャb
に対応したデータ群を参照しながら、この命令アーキテ
クチャbに対応したデータ群を命令アーキテクチャaに
対応したデータ群に変換してデータセット1340に格
納する。
【0064】次に、IP1360は、シミュレータ13
20に置かれている処理手順に従い、データセット13
40を参照しながら所定の命令処理を実行する。
20に置かれている処理手順に従い、データセット13
40を参照しながら所定の命令処理を実行する。
【0065】オブジェクトコードの処理手順に従ったシ
ミュレータ1320の命令処理の実行の後半の部分、シ
ミュレータ1320は、データセット1340に格納さ
れている処理の結果である命令アーキテクチャaに対応
したデータ群を命令アーキテクチャbに対応したデータ
群に前記リンケージパラメータ群を参照しながら逆変換
し、処理手順1310の切り出された命令アーキテクチ
ャbの命令の結果オペランドとする。
ミュレータ1320の命令処理の実行の後半の部分、シ
ミュレータ1320は、データセット1340に格納さ
れている処理の結果である命令アーキテクチャaに対応
したデータ群を命令アーキテクチャbに対応したデータ
群に前記リンケージパラメータ群を参照しながら逆変換
し、処理手順1310の切り出された命令アーキテクチ
ャbの命令の結果オペランドとする。
【0066】尚、前記のシミュレータの機能が、ハイパ
バイザとは独立して、IP1360が直接実行できるス
タイルでインプリメントされた場合をエミュレータとも
呼ぶが、このエミュレータの構成及び機能は、前記のシ
ミュレータとほぼ同様の構成を持つ。
バイザとは独立して、IP1360が直接実行できるス
タイルでインプリメントされた場合をエミュレータとも
呼ぶが、このエミュレータの構成及び機能は、前記のシ
ミュレータとほぼ同様の構成を持つ。
【0067】図14は、従来のハードウェアロジックに
て命令処理を実現している情報処理装置が、異なる命令
アーキテクチャの命令処理を実現するために、前記シミ
ュレータ又はエミュレータ処理手順で、複数の命令の複
数の機能を組み合わせで異なる命令アーキテクチャの1
つの命令機能を実行する場合の個々の命令の記憶装置内
での記述例を示したものである。
て命令処理を実現している情報処理装置が、異なる命令
アーキテクチャの命令処理を実現するために、前記シミ
ュレータ又はエミュレータ処理手順で、複数の命令の複
数の機能を組み合わせで異なる命令アーキテクチャの1
つの命令機能を実行する場合の個々の命令の記憶装置内
での記述例を示したものである。
【0068】図14において、(1)は、主記憶の2つ
の記憶領域間のデータ移動を行なう機能を持つ命令アー
キテクチャbの命令Aを、命令アーキテクチャaの複数
の命令機能の組合せで実現した場合の例であり、(2)
は、主記憶の2つの記憶領域間のデータの排他的論理和
を行なう機能を持つ命令アーキテクチャbの命令Bを、
命令アーキテクチャaの複数の命令機能の組合せで実現
した場合の例である。
の記憶領域間のデータ移動を行なう機能を持つ命令アー
キテクチャbの命令Aを、命令アーキテクチャaの複数
の命令機能の組合せで実現した場合の例であり、(2)
は、主記憶の2つの記憶領域間のデータの排他的論理和
を行なう機能を持つ命令アーキテクチャbの命令Bを、
命令アーキテクチャaの複数の命令機能の組合せで実現
した場合の例である。
【0069】図14の(1)および(2)における、命
令アーキテクチャaの個々の命令機能とその役割は、図
5(1)および(2)におけるマイクロ命令のそれと同
様であるので、説明は省略する。例えば、命令アーキテ
クチャaの命令BOPは、図5のマイクロ命令BOPと
基本的に同様であり、IUからセットアップされる命令
アーキテクチャbの命令Aの命令実行の開始に必要な命
令語のオペランドのパラメータをEU内のハードウェア
に設定させる。その他の命令も同様である。
令アーキテクチャaの個々の命令機能とその役割は、図
5(1)および(2)におけるマイクロ命令のそれと同
様であるので、説明は省略する。例えば、命令アーキテ
クチャaの命令BOPは、図5のマイクロ命令BOPと
基本的に同様であり、IUからセットアップされる命令
アーキテクチャbの命令Aの命令実行の開始に必要な命
令語のオペランドのパラメータをEU内のハードウェア
に設定させる。その他の命令も同様である。
【0070】図14に示すごとく、従来のハードウェア
ロジックで命令処理を実現している情報処理装置におい
ては、異なる命令アーキテクチャの命令機能を、基本的
にサポートしている複数の命令の機能を組み合わせて実
現した場合、複数の同一命令を異なる主記憶アドレス上
に複数個格納しておく必要があった。例えば、図14に
おいて、、記憶領域間のデータ移動を行なう機能を持つ
命令アーキテクチャbの命令Aと記憶領域間のデータの
排他的論理和を行なう機能を持つ命令アーキテクチャb
の命令Bを、複数の命令アーキテクチャaの命令機能の
組合せで実現した場合、BOP,CC,ST,MC,T
C,EOPなる命令アーキテクチャaの命令は2ヵ所で
使用され、Lなる命令アーキテクチャaの命令は3ヵ所
で使用され、そしてBCとMAなる命令アーキテクチャ
aの命令は4ヵ所で使用される。つまり、10種類の命
令アーキテクチャaの命令が22ヵ所の異なる主記憶ア
ドレス上に重複して格納されており、情報処理装置のシ
ミュレータ又はエミュレータを構成する命令語が通常、
数百命令からなることを考慮すると、命令アーキテクチ
ャaの命令の種類数と比較して極めて大容量の主記憶が
要求されるという結果をもたらしていた。
ロジックで命令処理を実現している情報処理装置におい
ては、異なる命令アーキテクチャの命令機能を、基本的
にサポートしている複数の命令の機能を組み合わせて実
現した場合、複数の同一命令を異なる主記憶アドレス上
に複数個格納しておく必要があった。例えば、図14に
おいて、、記憶領域間のデータ移動を行なう機能を持つ
命令アーキテクチャbの命令Aと記憶領域間のデータの
排他的論理和を行なう機能を持つ命令アーキテクチャb
の命令Bを、複数の命令アーキテクチャaの命令機能の
組合せで実現した場合、BOP,CC,ST,MC,T
C,EOPなる命令アーキテクチャaの命令は2ヵ所で
使用され、Lなる命令アーキテクチャaの命令は3ヵ所
で使用され、そしてBCとMAなる命令アーキテクチャ
aの命令は4ヵ所で使用される。つまり、10種類の命
令アーキテクチャaの命令が22ヵ所の異なる主記憶ア
ドレス上に重複して格納されており、情報処理装置のシ
ミュレータ又はエミュレータを構成する命令語が通常、
数百命令からなることを考慮すると、命令アーキテクチ
ャaの命令の種類数と比較して極めて大容量の主記憶が
要求されるという結果をもたらしていた。
【0071】ハードウェアロジックで命令処理を実現し
ている情報処理装置にシミュレータ又はエミュレータを
組み込むとき、異なる命令アーキテクチャの命令機能
を、複数の基本的にサポートしている複数の命令の機能
を組み合わせて実現するが、この大容量の主記憶の設置
の必要性は、情報処理装置が使用する基本命令アーキテ
クチャaで構成されるシミュレータ又はエミュレータの
命令語の数が、情報処理装置が直接実行できる機械語レ
ベルの命令語の数と比較して極めて多い事から、物理的
な主記憶のサイズの増大を招くことになり、この物理的
な主記憶のサイズの増大は、多数のメモリチップを用い
て主記憶を構成せざるを得ない結果をもたらし、主記憶
を多数のメモリチップを用いて構成する事は、情報処理
装置の主記憶に対するアクセス時間の増大に直結し、こ
の主記憶に対するアクセス時間の増大は、シミュレータ
又はエミュレータ制御で異なる命令アーキテクチャの命
令処理を実現する情報処理装置の性能を向上を図る上で
無視しえない重要な問題であった。
ている情報処理装置にシミュレータ又はエミュレータを
組み込むとき、異なる命令アーキテクチャの命令機能
を、複数の基本的にサポートしている複数の命令の機能
を組み合わせて実現するが、この大容量の主記憶の設置
の必要性は、情報処理装置が使用する基本命令アーキテ
クチャaで構成されるシミュレータ又はエミュレータの
命令語の数が、情報処理装置が直接実行できる機械語レ
ベルの命令語の数と比較して極めて多い事から、物理的
な主記憶のサイズの増大を招くことになり、この物理的
な主記憶のサイズの増大は、多数のメモリチップを用い
て主記憶を構成せざるを得ない結果をもたらし、主記憶
を多数のメモリチップを用いて構成する事は、情報処理
装置の主記憶に対するアクセス時間の増大に直結し、こ
の主記憶に対するアクセス時間の増大は、シミュレータ
又はエミュレータ制御で異なる命令アーキテクチャの命
令処理を実現する情報処理装置の性能を向上を図る上で
無視しえない重要な問題であった。
【0072】更に、ハードウェアロジックで命令処理を
実現している情報処理装置が、単一プロセッサで複数の
命令アーキテクチャをサポートするためにシミュレータ
又はエミュレータを用いて異なる命令アーキテクチャの
命令処理を行う情報処理装置を実現するに当たり、前記
の問題が数倍のレンジで顕在化し、プロセッサのチップ
面積の物理的制約から、現実として単一プロセッサで複
数の命令アーキテクチャをサポートするためにシミュレ
ータ又はエミュレータで命令処理を実現する情報処理装
置の実用化を阻んでおり、これも無視し得ない非常に重
大な技術的障壁であった。
実現している情報処理装置が、単一プロセッサで複数の
命令アーキテクチャをサポートするためにシミュレータ
又はエミュレータを用いて異なる命令アーキテクチャの
命令処理を行う情報処理装置を実現するに当たり、前記
の問題が数倍のレンジで顕在化し、プロセッサのチップ
面積の物理的制約から、現実として単一プロセッサで複
数の命令アーキテクチャをサポートするためにシミュレ
ータ又はエミュレータで命令処理を実現する情報処理装
置の実用化を阻んでおり、これも無視し得ない非常に重
大な技術的障壁であった。
【0073】
【発明が解決しようとする課題】以上述べた如く、従来
のマイクロコードで命令処理を実現している情報処理装
置は、制御記憶(CS)に予め格納されているマイクロ
命令をマイクロコードの処理手順に従い、順次一定手順
で読み出し、該マイクロ命令を制御記憶データレジスタ
に一旦セットし、該制御記憶データレジスタからマイク
ロ命令の実行を司る実行ユニットに順次送出し、該実行
ユニットに於いて該マイクロ命令の複数のフィールドで
指定された複数の動作を行なう方式が一般的であった。
そして、CSアドレスの生成からマイクロ命令の読み出
し及び該マイクロ命令の実行の繰返しは、それぞれのマ
イクロ命令の一部が次に実行すべきマイクロ命令のアド
レスを指定する構造とすることで実現していた。
のマイクロコードで命令処理を実現している情報処理装
置は、制御記憶(CS)に予め格納されているマイクロ
命令をマイクロコードの処理手順に従い、順次一定手順
で読み出し、該マイクロ命令を制御記憶データレジスタ
に一旦セットし、該制御記憶データレジスタからマイク
ロ命令の実行を司る実行ユニットに順次送出し、該実行
ユニットに於いて該マイクロ命令の複数のフィールドで
指定された複数の動作を行なう方式が一般的であった。
そして、CSアドレスの生成からマイクロ命令の読み出
し及び該マイクロ命令の実行の繰返しは、それぞれのマ
イクロ命令の一部が次に実行すべきマイクロ命令のアド
レスを指定する構造とすることで実現していた。
【0074】かかる従来のマイクロコードで命令処理を
実現している情報処理装置においては、該情報処理装置
が使用する機械語レベルの命令機能を実現する為に、複
数のマイクロ命令の複数の機能を組み合わせでマイクロ
コード処理手順をプログラミングした時、同一マイクロ
命令を異なるCSアドレス上に複数個格納しておく必要
があった。即ち、マイクロ命令の種類数に比較して極め
て多い数のマイクロ命令をCS内に重複して格納してお
く必要があり、その結果、大容量のCSが要求される問
題があった。
実現している情報処理装置においては、該情報処理装置
が使用する機械語レベルの命令機能を実現する為に、複
数のマイクロ命令の複数の機能を組み合わせでマイクロ
コード処理手順をプログラミングした時、同一マイクロ
命令を異なるCSアドレス上に複数個格納しておく必要
があった。即ち、マイクロ命令の種類数に比較して極め
て多い数のマイクロ命令をCS内に重複して格納してお
く必要があり、その結果、大容量のCSが要求される問
題があった。
【0075】その上、該マイクロコードで命令処理を実
現している情報処理装置が使用するマイクロ命令の語長
が、通常のマイクロコードで命令処理を実現している情
報処理装置が使用する機械語レベルの命令語長と比較し
て極めて長いのが一般的である為、この大容量のCSの
設置の要求は、物理的なCS論理回路サイズの増大を招
くことになり、この物理的なCSのサイズの増大は、、
複数のメモリチップを用いてCSを構成せざるを得ない
という結果をもたらし、CSを複数のメモリチップを用
いて構成する事は、該マイクロコードで命令処理を実現
している情報処理装置のハードウェアによるCSに対す
るアクセス時間の増大に直結し、このCSに対するアク
セス時間の増大は、かかるマイクロコード制御で命令処
理を行なう方式の情報処理装置の性能を確保する上で無
視しえない、重大な問題であると共に、複数の命令アー
キテクチャをサポートするプロセッサを実現する上で、
実現不可能とも言える重大な問題があった。
現している情報処理装置が使用するマイクロ命令の語長
が、通常のマイクロコードで命令処理を実現している情
報処理装置が使用する機械語レベルの命令語長と比較し
て極めて長いのが一般的である為、この大容量のCSの
設置の要求は、物理的なCS論理回路サイズの増大を招
くことになり、この物理的なCSのサイズの増大は、、
複数のメモリチップを用いてCSを構成せざるを得ない
という結果をもたらし、CSを複数のメモリチップを用
いて構成する事は、該マイクロコードで命令処理を実現
している情報処理装置のハードウェアによるCSに対す
るアクセス時間の増大に直結し、このCSに対するアク
セス時間の増大は、かかるマイクロコード制御で命令処
理を行なう方式の情報処理装置の性能を確保する上で無
視しえない、重大な問題であると共に、複数の命令アー
キテクチャをサポートするプロセッサを実現する上で、
実現不可能とも言える重大な問題があった。
【0076】更に、前記の物理的なCS論理回路サイズ
の大幅な増大は、マイクロコードで命令処理を実現して
いる情報処理装置を構成する最も重要な部品である大規
模集積回路のチップ面積の増大につながり、これはマイ
クロコードで命令処理を実現している情報処理装置の製
造コストが増加するという、工業製品を製造する上での
工業的問題が存在し、この工業的問題も無視しえない、
重大な問題であった。
の大幅な増大は、マイクロコードで命令処理を実現して
いる情報処理装置を構成する最も重要な部品である大規
模集積回路のチップ面積の増大につながり、これはマイ
クロコードで命令処理を実現している情報処理装置の製
造コストが増加するという、工業製品を製造する上での
工業的問題が存在し、この工業的問題も無視しえない、
重大な問題であった。
【0077】次に、従来のハードウェアロジックで命令
処理を実現している情報処理装置は、主記憶に予め格納
されているシミュレータ又はエミュレータの処理手順に
従い、順次一定手順で読み出し、該シミュレータ又はエ
ミュレータを構成している命令群を命令の実行を司る実
行ユニットに順次送出し、該実行ユニットに於いて該命
令群で指定された処理手順の動作を行なう方式が一般的
であった。そして、命令アドレスの生成から命令の読み
出し及び該命令の実行の繰返しは、通常の情報処理装置
で用いられる命令アドレス更新制御手順により実現して
いた。
処理を実現している情報処理装置は、主記憶に予め格納
されているシミュレータ又はエミュレータの処理手順に
従い、順次一定手順で読み出し、該シミュレータ又はエ
ミュレータを構成している命令群を命令の実行を司る実
行ユニットに順次送出し、該実行ユニットに於いて該命
令群で指定された処理手順の動作を行なう方式が一般的
であった。そして、命令アドレスの生成から命令の読み
出し及び該命令の実行の繰返しは、通常の情報処理装置
で用いられる命令アドレス更新制御手順により実現して
いた。
【0078】かかる従来のハードウェアロジックで命令
処理を実現している情報処理装置においては、該情報処
理装置が使用する機械語レベルの命令機能を実現する為
に、複数の命令の複数の機能を組み合わせでシミュレー
タ又はエミュレータ処理手順をプログラミングした時、
同一命令を異なる主記憶アドレス上に複数個格納してお
く必要があった。即ち、命令の種類数に比較して極めて
多い数の命令を主記憶内に重複して格納しておく必要が
あり、その結果、シミュレータ又はエミュレータ処理手
順用の大容量の主記憶が要求される問題があった。
処理を実現している情報処理装置においては、該情報処
理装置が使用する機械語レベルの命令機能を実現する為
に、複数の命令の複数の機能を組み合わせでシミュレー
タ又はエミュレータ処理手順をプログラミングした時、
同一命令を異なる主記憶アドレス上に複数個格納してお
く必要があった。即ち、命令の種類数に比較して極めて
多い数の命令を主記憶内に重複して格納しておく必要が
あり、その結果、シミュレータ又はエミュレータ処理手
順用の大容量の主記憶が要求される問題があった。
【0079】その上、該ハードウェアロジックで命令処
理を実現している情報処理装置にシミュレータ又はエミ
ュレータを組み込むとき、異なる命令アーキテクチャの
命令機能を、複数の基本となるハードウェアでサポート
している複数の命令を組み合わせて実現するが、情報処
理装置が使用する基本となるハードウェアでサポートし
ている複数の命令アーキテクチャで構成されるシミュレ
ータ又はエミュレータの命令語の数が、情報処理装置が
直接実行できる機械語レベルの命令語の数と比較して極
めて多い事から、この大容量の主記憶の設置の要求は、
物理的な主記憶のサイズの増大を招くことになり、この
物理的な主記憶のサイズの増大は、多数のメモリチップ
を用いて主記憶を構成せざるを得ない結果をもたらし、
この主記憶を多数のメモリチップを用いて構成する事
は、情報処理装置の主記憶に対するアクセス時間の増大
に直結し、この主記憶に対するアクセス時間の増大は、
かかるハードウェアロジックで命令処理を行なう方式の
情報処理装置の性能を確保する上で無視しえない、重大
な問題であると共に、複数の命令アーキテクチャをサポ
ートするプロセッサを実現する上で、実現不可能とも言
える重大な問題があった。
理を実現している情報処理装置にシミュレータ又はエミ
ュレータを組み込むとき、異なる命令アーキテクチャの
命令機能を、複数の基本となるハードウェアでサポート
している複数の命令を組み合わせて実現するが、情報処
理装置が使用する基本となるハードウェアでサポートし
ている複数の命令アーキテクチャで構成されるシミュレ
ータ又はエミュレータの命令語の数が、情報処理装置が
直接実行できる機械語レベルの命令語の数と比較して極
めて多い事から、この大容量の主記憶の設置の要求は、
物理的な主記憶のサイズの増大を招くことになり、この
物理的な主記憶のサイズの増大は、多数のメモリチップ
を用いて主記憶を構成せざるを得ない結果をもたらし、
この主記憶を多数のメモリチップを用いて構成する事
は、情報処理装置の主記憶に対するアクセス時間の増大
に直結し、この主記憶に対するアクセス時間の増大は、
かかるハードウェアロジックで命令処理を行なう方式の
情報処理装置の性能を確保する上で無視しえない、重大
な問題であると共に、複数の命令アーキテクチャをサポ
ートするプロセッサを実現する上で、実現不可能とも言
える重大な問題があった。
【0080】更に、前記の物理的な主記憶サイズの大幅
な増大は、基本的にサポートしている命令で命令処理を
実現している情報処理装置を構成する最も重要な部品で
あるメモリチップ数の増加につながり、これは、情報処
理装置の製造コストが増加するという工業製品を製造す
る上での工業的問題が存在し、この工業的問題も無視し
えない、重大な問題であった。
な増大は、基本的にサポートしている命令で命令処理を
実現している情報処理装置を構成する最も重要な部品で
あるメモリチップ数の増加につながり、これは、情報処
理装置の製造コストが増加するという工業製品を製造す
る上での工業的問題が存在し、この工業的問題も無視し
えない、重大な問題であった。
【0081】本発明の目的は、マイクロコードで命令処
理を実現している情報処理装置に於いて、マイクロ命令
の一部が次に実行すべきマイクロ命令のアドレスを指定
する構造を改めるとともに、機械語レベルの命令機能を
実現する為に複数のマイクロ命令の複数の機能を組み合
わせて、マイクロコード処理手順を情報処理装置に組み
込んだ時、同一マイクロ命令を異なるCSアドレス上に
複数個格納しておく必要性を撤廃する事により、複数の
命令アーキテクチャをサポートするマイクロコードで命
令処理を実行するプロセッサ、即ち、マルチ命令アーキ
テクチャプロセッサを実現可能とし、更に、かかるマル
チ命令アーキテクチャプロセッサのハードウェアの命令
処理性能を大幅に向上させ、且つ、工業的コストを抑え
ることにある。
理を実現している情報処理装置に於いて、マイクロ命令
の一部が次に実行すべきマイクロ命令のアドレスを指定
する構造を改めるとともに、機械語レベルの命令機能を
実現する為に複数のマイクロ命令の複数の機能を組み合
わせて、マイクロコード処理手順を情報処理装置に組み
込んだ時、同一マイクロ命令を異なるCSアドレス上に
複数個格納しておく必要性を撤廃する事により、複数の
命令アーキテクチャをサポートするマイクロコードで命
令処理を実行するプロセッサ、即ち、マルチ命令アーキ
テクチャプロセッサを実現可能とし、更に、かかるマル
チ命令アーキテクチャプロセッサのハードウェアの命令
処理性能を大幅に向上させ、且つ、工業的コストを抑え
ることにある。
【0082】本発明の更なる目的は、ハードウェアロジ
ックで命令処理を実現している情報処理装置に於いて、
ハードウェアが基本的にサポートしている命令アーキテ
クチャの命令データの一部が、次に実行すべき該命令の
アドレスを指定する構造を改めるとともに、異なる命令
アーキテクチャの機械語レベルの命令機能を実現する為
に、ハードウェアが基本的にサポートしている命令アー
キテクチャの複数の命令の機能を組み合わせてシミュレ
ータ又はエミュレータとしてその処理手順を情報処理装
置に組み込んだ時、同一命令を異なる主記憶アドレス上
に複数個格納しておく必要性を撤廃する事により、複数
の命令アーキテクチャをサポート出来るプロセッサを実
現可能とし、複数の命令アーキテクチャをサポートする
ハードウェアロジックで命令処理を実行するプロセッ
サ、即ち、マルチ命令アーキテクチャプロセッサを実現
可能とし、更に、かかるマルチ命令アーキテクチャプロ
セッサのハードウェアの命令処理性能を大幅に向上さ
せ、且つ、工業的コストを抑えることにある。
ックで命令処理を実現している情報処理装置に於いて、
ハードウェアが基本的にサポートしている命令アーキテ
クチャの命令データの一部が、次に実行すべき該命令の
アドレスを指定する構造を改めるとともに、異なる命令
アーキテクチャの機械語レベルの命令機能を実現する為
に、ハードウェアが基本的にサポートしている命令アー
キテクチャの複数の命令の機能を組み合わせてシミュレ
ータ又はエミュレータとしてその処理手順を情報処理装
置に組み込んだ時、同一命令を異なる主記憶アドレス上
に複数個格納しておく必要性を撤廃する事により、複数
の命令アーキテクチャをサポート出来るプロセッサを実
現可能とし、複数の命令アーキテクチャをサポートする
ハードウェアロジックで命令処理を実行するプロセッ
サ、即ち、マルチ命令アーキテクチャプロセッサを実現
可能とし、更に、かかるマルチ命令アーキテクチャプロ
セッサのハードウェアの命令処理性能を大幅に向上さ
せ、且つ、工業的コストを抑えることにある。
【0083】
【課題を解決するための手段】本発明は基本的に、命令
の読み出しと解読を行う命令制御ユニットと、命令を実
行する実行ユニットを具備してなる情報処理装置におい
て、処理対象の命令のアーキテクチャモードを保持する
命令アーキテクチャモードレジスタと、命令のアーキテ
クチャモード毎に、それぞれ命令処理に必要なセットア
ップデータを生成する複数のセットアップデータ生成部
と、命令のアーキテクチャモード毎に、それぞれ命令の
実行順序を定めたシーケンスコード列を格納する複数の
シーケンス記憶と、実行すべき命令語群を、重複を排し
て格納する命令記憶とを設ける。命令処理を行う際、前
記命令アーキテクチャモードレジスタの出力値によっ
て、前記複数のセットアップデータ生成部の中から一つ
のセットアップデータ生成部を選択し、処理対象命令の
解読結果を、前記選択されたセットアップデータ生成部
の入力として、当該命令の処理に必要なセットアップデ
ータを得、前記得られたセットアップデータの少なくと
も一部を、前記複数のシーケンス記憶の中の一つのシー
ケンス記憶の先頭読み出しアドレスとして、当該シーケ
ンス記憶から処理対象命令の実行順序を定めたシーケン
スコード列を読み出し、前記読み出されたシーケンスコ
ード列を前記命令記憶の読み出しアドレス列として、該
命令記憶から処理対象命令に対応する命令語群を読み出
し、前記実行ユニットへ送出する。
の読み出しと解読を行う命令制御ユニットと、命令を実
行する実行ユニットを具備してなる情報処理装置におい
て、処理対象の命令のアーキテクチャモードを保持する
命令アーキテクチャモードレジスタと、命令のアーキテ
クチャモード毎に、それぞれ命令処理に必要なセットア
ップデータを生成する複数のセットアップデータ生成部
と、命令のアーキテクチャモード毎に、それぞれ命令の
実行順序を定めたシーケンスコード列を格納する複数の
シーケンス記憶と、実行すべき命令語群を、重複を排し
て格納する命令記憶とを設ける。命令処理を行う際、前
記命令アーキテクチャモードレジスタの出力値によっ
て、前記複数のセットアップデータ生成部の中から一つ
のセットアップデータ生成部を選択し、処理対象命令の
解読結果を、前記選択されたセットアップデータ生成部
の入力として、当該命令の処理に必要なセットアップデ
ータを得、前記得られたセットアップデータの少なくと
も一部を、前記複数のシーケンス記憶の中の一つのシー
ケンス記憶の先頭読み出しアドレスとして、当該シーケ
ンス記憶から処理対象命令の実行順序を定めたシーケン
スコード列を読み出し、前記読み出されたシーケンスコ
ード列を前記命令記憶の読み出しアドレス列として、該
命令記憶から処理対象命令に対応する命令語群を読み出
し、前記実行ユニットへ送出する。
【0084】これにより、命令アーキテクチャモードレ
ジスタの値を変えるだけで、同一の命令コードを持つ命
令に対して異なる動作仕様要持つ命令処理を実行させる
ことができ、同一のハードウェア資源を用いて複数のア
ーキテクチャの異なる命令を動的に切り替えて実行する
マルチ命令アーキテクチャプロセッサが容易に実現可能
になる。
ジスタの値を変えるだけで、同一の命令コードを持つ命
令に対して異なる動作仕様要持つ命令処理を実行させる
ことができ、同一のハードウェア資源を用いて複数のア
ーキテクチャの異なる命令を動的に切り替えて実行する
マルチ命令アーキテクチャプロセッサが容易に実現可能
になる。
【0085】ここで、マイクロコード制御で命令処理を
行う情報処理装置においては、各マイクロ命令を重複し
ないように制御記憶に格納し、各シーケンス記憶には、
命令のアーキテクチャモード毎に、それぞれ命令の種類
に応じて前記制御記憶に格納されているマイクロ命令の
実行順序を定めたシーケンスコード列を格納しておけば
よい。
行う情報処理装置においては、各マイクロ命令を重複し
ないように制御記憶に格納し、各シーケンス記憶には、
命令のアーキテクチャモード毎に、それぞれ命令の種類
に応じて前記制御記憶に格納されているマイクロ命令の
実行順序を定めたシーケンスコード列を格納しておけば
よい。
【0086】また、ハードウェアロジック制御で命令処
理を行う情報処理装置においては、命令記憶に特定の命
令アーキテクチャ(情報処理装置が基本的にサポートし
ている命令アーキテクチャ)を持つ命令語のみを格納
し、各シーケンス記憶には、異なる命令のアーキテクチ
ャ毎に、それぞれ命令の種類に応じて前記命令記憶に格
納されている命令語の実行順序を定めたシーケンスコー
ド列を格納しておけばよい。
理を行う情報処理装置においては、命令記憶に特定の命
令アーキテクチャ(情報処理装置が基本的にサポートし
ている命令アーキテクチャ)を持つ命令語のみを格納
し、各シーケンス記憶には、異なる命令のアーキテクチ
ャ毎に、それぞれ命令の種類に応じて前記命令記憶に格
納されている命令語の実行順序を定めたシーケンスコー
ド列を格納しておけばよい。
【0087】
【発明の実施の形態】以下、本発明の情報処理装置の実
施例を図面を用いて詳細に説明する。図1は、本発明の
マイクロコード制御で命令処理を行なう情報処理装置の
一実施例を示すブロック図で、特に、マイクロ命令の読
出し及び実行に関係する部分の全体的構成を示したもの
である。
施例を図面を用いて詳細に説明する。図1は、本発明の
マイクロコード制御で命令処理を行なう情報処理装置の
一実施例を示すブロック図で、特に、マイクロ命令の読
出し及び実行に関係する部分の全体的構成を示したもの
である。
【0088】図1において、100は主記憶(MS)、
110は命令制御ユニット(IU)、120は複数のシ
ーケンス記憶アドレスレジスタ(以下、SSARとい
う)からなるSSAR群、130はアドレス加算器、1
40は複数のシーケンス記憶(以下、SSという)から
なるSS群、150は制御記憶アドレスレジスタ(CS
AR)、160は制御記憶(CS)、170は制御記憶
データレジスタ(CSDR)、180は実行ユニット
(EU)である。図2の従来の構成とは、SSAR群1
20、アドレス加算器130、SS群140を付加した
点が異なり、更に、IU110は複数のセットアップデ
ータ生成器(DS)のDS群113を具備している点が
異なる。
110は命令制御ユニット(IU)、120は複数のシ
ーケンス記憶アドレスレジスタ(以下、SSARとい
う)からなるSSAR群、130はアドレス加算器、1
40は複数のシーケンス記憶(以下、SSという)から
なるSS群、150は制御記憶アドレスレジスタ(CS
AR)、160は制御記憶(CS)、170は制御記憶
データレジスタ(CSDR)、180は実行ユニット
(EU)である。図2の従来の構成とは、SSAR群1
20、アドレス加算器130、SS群140を付加した
点が異なり、更に、IU110は複数のセットアップデ
ータ生成器(DS)のDS群113を具備している点が
異なる。
【0089】なお、本発明の情報処理装置では、更に命
令のアーキテクチャモードを保持する命令アーキテクチ
ャモードレジスタを具備するが、図1では省略してあ
る。また、図1では、IU110の命令読み出しはMS
から行うとしたが、バッファ記憶あるいは命令バッファ
等であってもよい。
令のアーキテクチャモードを保持する命令アーキテクチ
ャモードレジスタを具備するが、図1では省略してあ
る。また、図1では、IU110の命令読み出しはMS
から行うとしたが、バッファ記憶あるいは命令バッファ
等であってもよい。
【0090】IU110は、図3に示したように、命令
レジスタ(IR)と命令解読器(IDEC)及びセット
アップデータ生成器(DS)などを内蔵しているが、D
Sは異なる命令アーキテクチャ毎に複数具備している。
図1では、これをDS群113で示す。該IU110
は、命令語の読み出し要求を主記憶100に対して送出
し、該読み出された命令語をIRにセットし、該セット
された命令語をIDECに送出する。IDECは、該命
令語の命令コードを解読して、その命令解読結果を複数
のDSからなるDS群113に送出する。DS群113
は、前記命令語の命令解読結果を元に、該命令語に対応
する先頭のシーケンスコードを格納しているSS群14
0のアドレス(以下、シーケンスコードアドレスとい
う)を作成し、信号線1001を介してSSAR群12
0に送出する。具体的には、DS群113のDS(i)
は、SS群140のSS(i)に対応するシーケンスコ
ードアドレスを作成し、SSAR(i)に送出する。こ
こで、i=0,1,・・・,nである。更に、DS群1
13は、解読結果によっては、該命令語に対応する先頭
のマイクロ命令のCSアドレスを作成し、信号線12を
介して直接CSAR150に送出する。
レジスタ(IR)と命令解読器(IDEC)及びセット
アップデータ生成器(DS)などを内蔵しているが、D
Sは異なる命令アーキテクチャ毎に複数具備している。
図1では、これをDS群113で示す。該IU110
は、命令語の読み出し要求を主記憶100に対して送出
し、該読み出された命令語をIRにセットし、該セット
された命令語をIDECに送出する。IDECは、該命
令語の命令コードを解読して、その命令解読結果を複数
のDSからなるDS群113に送出する。DS群113
は、前記命令語の命令解読結果を元に、該命令語に対応
する先頭のシーケンスコードを格納しているSS群14
0のアドレス(以下、シーケンスコードアドレスとい
う)を作成し、信号線1001を介してSSAR群12
0に送出する。具体的には、DS群113のDS(i)
は、SS群140のSS(i)に対応するシーケンスコ
ードアドレスを作成し、SSAR(i)に送出する。こ
こで、i=0,1,・・・,nである。更に、DS群1
13は、解読結果によっては、該命令語に対応する先頭
のマイクロ命令のCSアドレスを作成し、信号線12を
介して直接CSAR150に送出する。
【0091】SSAR群120は、IU110のDS群
113に対応して複数のSSARからなり、各SSAR
(i)(i=0,1,・・・,n)は、信号線11を介
して、DS群113のDS(i)から送られて来たSS
(i)のシーケンスコードのアドレスを指定するシーケ
ンスコードアドレスを一旦セットし、信号線13を介し
て、後述のSS群140のSS(i)に対し読み出し要
求を送出すると共に、アドレス加算器130に対して該
シーケンスコードアドレスを送出する。更に、SSAR
群120の各SSAR(i)は、後述するアドレス加算
器130、SS群140のSS(i)、CSDR170
などから、信号線14、信号線15又は信号線20を介
して送られてくるところの、同様のSS(i)のアドレ
スを指定するシーケンスコードアドレスをセットし、信
号線13を介して、SS群140の対応するSS(i)
に読み出し要求を送出すると共に、アドレス加算器13
0に該シーケンスアドレスを送出する役割を有する。
113に対応して複数のSSARからなり、各SSAR
(i)(i=0,1,・・・,n)は、信号線11を介
して、DS群113のDS(i)から送られて来たSS
(i)のシーケンスコードのアドレスを指定するシーケ
ンスコードアドレスを一旦セットし、信号線13を介し
て、後述のSS群140のSS(i)に対し読み出し要
求を送出すると共に、アドレス加算器130に対して該
シーケンスコードアドレスを送出する。更に、SSAR
群120の各SSAR(i)は、後述するアドレス加算
器130、SS群140のSS(i)、CSDR170
などから、信号線14、信号線15又は信号線20を介
して送られてくるところの、同様のSS(i)のアドレ
スを指定するシーケンスコードアドレスをセットし、信
号線13を介して、SS群140の対応するSS(i)
に読み出し要求を送出すると共に、アドレス加算器13
0に該シーケンスアドレスを送出する役割を有する。
【0092】アドレス加算器130は、SSAR群12
0で共用され、SSAR群120のSSAR(i)から
信号線13を介して送られて来るシーケンスコードアド
レスの値を更新し、信号線14を介して当該SSAR
(i)に送出する役割を有する。これにより、SSAR
群120の各SSAR(i)は、次にこの更新されたシ
ーケンスコードアドレスの値でSS群140のSS
(i)に対して読み出し要求を送出し、同時に、該更新
されたシーケンスコードアドレスをアドレス加算器13
0に送出る。以下、これを繰り返す。
0で共用され、SSAR群120のSSAR(i)から
信号線13を介して送られて来るシーケンスコードアド
レスの値を更新し、信号線14を介して当該SSAR
(i)に送出する役割を有する。これにより、SSAR
群120の各SSAR(i)は、次にこの更新されたシ
ーケンスコードアドレスの値でSS群140のSS
(i)に対して読み出し要求を送出し、同時に、該更新
されたシーケンスコードアドレスをアドレス加算器13
0に送出る。以下、これを繰り返す。
【0093】SS群140は、SSAR群120に対応
して複数のSSからなる。SS群140の各SS(i)
(i=0,1,・・・,n)は、それぞれCS160の
マイクロ命令アドレスを指定する複数のシーケンスコー
ドを格納し、SSAR群120の対応するSSAR
(i)からのシーケンスコードアドレスを伴う読み出し
要求により、指定されたシーケンスコードを読み出し、
信号線15を介してSSAR150に送出する。更に、
SS群140の各SS(i)は、それぞれ後述するEO
Pフィールド又はPEOPフィールドの値がオンである
シーケンスコードが読み出されると、該EOP又はPE
OPフィールドの値を信号線19を介してIU110及
びSSAR群120の対応するSSAR(i)に送出す
る。これを受けて、IU110は次命令の読み出し、そ
の解読及びシーケンスコードアドレス等の作成を開始
し、また、当該SSAR(i)はアドレス加算器130
で更新された次のシーケンスコードアドレスをSS群1
40の対応するSS(i)に送出することを抑止する。
して複数のSSからなる。SS群140の各SS(i)
(i=0,1,・・・,n)は、それぞれCS160の
マイクロ命令アドレスを指定する複数のシーケンスコー
ドを格納し、SSAR群120の対応するSSAR
(i)からのシーケンスコードアドレスを伴う読み出し
要求により、指定されたシーケンスコードを読み出し、
信号線15を介してSSAR150に送出する。更に、
SS群140の各SS(i)は、それぞれ後述するEO
Pフィールド又はPEOPフィールドの値がオンである
シーケンスコードが読み出されると、該EOP又はPE
OPフィールドの値を信号線19を介してIU110及
びSSAR群120の対応するSSAR(i)に送出す
る。これを受けて、IU110は次命令の読み出し、そ
の解読及びシーケンスコードアドレス等の作成を開始
し、また、当該SSAR(i)はアドレス加算器130
で更新された次のシーケンスコードアドレスをSS群1
40の対応するSS(i)に送出することを抑止する。
【0094】CSAR150は、SS群140の動作中
のSS(i)から送られるシーケンスコードを受取り、
一旦セットした後、該セットされたシーケンスコードを
CS160の読み出しアドレスに用いて、信号線16を
介し、CS160に対し読み出し要求を出す。また、場
合によっては、CSAR150は、IU110内のDS
群113から送られるマイクロ命令アドレスを直接受取
り、一旦セットした後、該セットされたマイクロ命令ア
ドレスを用いて、同様に信号線16を介し、CS160
に対し読み出し要求を出す。
のSS(i)から送られるシーケンスコードを受取り、
一旦セットした後、該セットされたシーケンスコードを
CS160の読み出しアドレスに用いて、信号線16を
介し、CS160に対し読み出し要求を出す。また、場
合によっては、CSAR150は、IU110内のDS
群113から送られるマイクロ命令アドレスを直接受取
り、一旦セットした後、該セットされたマイクロ命令ア
ドレスを用いて、同様に信号線16を介し、CS160
に対し読み出し要求を出す。
【0095】CS160は、それぞれ固有の機能の複数
のマイクロ命令を格納し、CSAR150から送られた
シーケンスコードあるいはマイクロ命令アドレスを用い
て目的とするマイクロ命令を読み出し、該読み出したマ
イクロ命令(マイクロ命令データ)を信号17を介して
CSDR170に送出する。
のマイクロ命令を格納し、CSAR150から送られた
シーケンスコードあるいはマイクロ命令アドレスを用い
て目的とするマイクロ命令を読み出し、該読み出したマ
イクロ命令(マイクロ命令データ)を信号17を介して
CSDR170に送出する。
【0096】CSDR170は、CS160から前記の
如くの手順で読み出されたマイクロ命令を受取り、一旦
セットした後、該セットされたマイクロ命令を信号線1
8を介して、EU180に送出する。また、CSDR1
70は、必要に応じて、マイクロ命令のBAフィールド
の内容を、信号線20を介してSSAR群120に送る
ことで、SS群140の次に読み出すべきシーケンスコ
ードのアジレスに使用したり、更に、マイクロ命令のE
OPフィールドの内容をIU110に送って、該IU1
10での次命令の読出しを起動したりする役割を有して
いる。なお、破線で示したように、必要によっては、従
来と同様にマイクロ命令のBAフィールドの内容を直接
CS160の読み出しアドレスに使用することもでき
る。
如くの手順で読み出されたマイクロ命令を受取り、一旦
セットした後、該セットされたマイクロ命令を信号線1
8を介して、EU180に送出する。また、CSDR1
70は、必要に応じて、マイクロ命令のBAフィールド
の内容を、信号線20を介してSSAR群120に送る
ことで、SS群140の次に読み出すべきシーケンスコ
ードのアジレスに使用したり、更に、マイクロ命令のE
OPフィールドの内容をIU110に送って、該IU1
10での次命令の読出しを起動したりする役割を有して
いる。なお、破線で示したように、必要によっては、従
来と同様にマイクロ命令のBAフィールドの内容を直接
CS160の読み出しアドレスに使用することもでき
る。
【0097】図6は、SS140群の各SSに格納され
る1つのシーケンスコードエントリの形式と内容を示し
た図である。ここで、1つのシーケンスコードエントリ
はコードタイプフィールド601,アドレスフィールド
602,PEOPフィールド603及びEOPフィール
ド604の4つのフィールドから構成される。
る1つのシーケンスコードエントリの形式と内容を示し
た図である。ここで、1つのシーケンスコードエントリ
はコードタイプフィールド601,アドレスフィールド
602,PEOPフィールド603及びEOPフィール
ド604の4つのフィールドから構成される。
【0098】シーケンスコードエントリのコードタイプ
フィールド601には、該シーケンスコードエントリの
アドレスフィールド602のタイプを指定するフラグが
格納される。更に、本フィールド601には、対応する
CS内のマイクロ命令の種類を認識する情報も格納され
る。
フィールド601には、該シーケンスコードエントリの
アドレスフィールド602のタイプを指定するフラグが
格納される。更に、本フィールド601には、対応する
CS内のマイクロ命令の種類を認識する情報も格納され
る。
【0099】アドレスフィールド602には、該シーケ
ンスコードエントリに対応するCS160内のマイクロ
命令のアドレスまたは次に読み出されるべきシーケンス
コードエントリのアドレスが格納される。アドレスフィ
ールド602が、どちらのアドレス情報を保持している
かは、コードタイプフィールド601のフラグで判別さ
れる。アドレスフィールド602が、次に読み出される
べきシーケンスコードエントリのアドレスである場合、
該アドレスフィールド602の内容はSSAR群120
の対応するSSARに送られて、次に読み出されるシー
ケンスコードエントリのアドレスとして使われ、シーケ
ンスコードエントリの読み出し順序が変更される。
ンスコードエントリに対応するCS160内のマイクロ
命令のアドレスまたは次に読み出されるべきシーケンス
コードエントリのアドレスが格納される。アドレスフィ
ールド602が、どちらのアドレス情報を保持している
かは、コードタイプフィールド601のフラグで判別さ
れる。アドレスフィールド602が、次に読み出される
べきシーケンスコードエントリのアドレスである場合、
該アドレスフィールド602の内容はSSAR群120
の対応するSSARに送られて、次に読み出されるシー
ケンスコードエントリのアドレスとして使われ、シーケ
ンスコードエントリの読み出し順序が変更される。
【0100】EOPフィールド603には、一連のシー
ケンスコードエントリから構成されるマイクロコード処
理手順の実行の終了を示すフラグが設定される。該EO
Pフィールド603の値がオンであるシーケンスコード
エントリがSS群140の動作中のSS(i)から読み
出されると、オンであるEOPフィールドの値はIU1
10及びSSAR群120の対応するSSAR(i)に
送られる。これを受けて、SSAR群120のSSAR
(i)はSS群140の対応するSS(i)に次のシー
ケンスコードアドレスの送出を抑止する。IU110
は、次命令の読み出しと解読を行い、新たにDS群11
3の当該命令のアーキテクチャに対応するDSを選択
し、該DSにて、当該命令に対応する先頭のシーケンス
コードエントリアドレスを作成して、SSAR群120
の対応するSSARに送出し、次の命令のシーケンスコ
ードの読み出しを起動する。
ケンスコードエントリから構成されるマイクロコード処
理手順の実行の終了を示すフラグが設定される。該EO
Pフィールド603の値がオンであるシーケンスコード
エントリがSS群140の動作中のSS(i)から読み
出されると、オンであるEOPフィールドの値はIU1
10及びSSAR群120の対応するSSAR(i)に
送られる。これを受けて、SSAR群120のSSAR
(i)はSS群140の対応するSS(i)に次のシー
ケンスコードアドレスの送出を抑止する。IU110
は、次命令の読み出しと解読を行い、新たにDS群11
3の当該命令のアーキテクチャに対応するDSを選択
し、該DSにて、当該命令に対応する先頭のシーケンス
コードエントリアドレスを作成して、SSAR群120
の対応するSSARに送出し、次の命令のシーケンスコ
ードの読み出しを起動する。
【0101】PEOPフィールド604には、一連のシ
ーケンスコードエントリから構成されるマイクロコード
の実行の擬似的な終了を示すフラグが設定される。該P
EOPフィールド604の値がオンであるシーケンスコ
ードエントリがSS群140の動作中のSS(i)から
読み出されると、一連のシーケンスコードエントリから
構成されるマイクロコードの実行が終了していなくと
も、該PEOPフィールド604の値は同様にIU11
0やSSAR群120の対応するSSARに送られる。
これを受け取った場合のSSAR(i)、IU110の
動作は前記EOPフィールド603の場合と同様であ
る。
ーケンスコードエントリから構成されるマイクロコード
の実行の擬似的な終了を示すフラグが設定される。該P
EOPフィールド604の値がオンであるシーケンスコ
ードエントリがSS群140の動作中のSS(i)から
読み出されると、一連のシーケンスコードエントリから
構成されるマイクロコードの実行が終了していなくと
も、該PEOPフィールド604の値は同様にIU11
0やSSAR群120の対応するSSARに送られる。
これを受け取った場合のSSAR(i)、IU110の
動作は前記EOPフィールド603の場合と同様であ
る。
【0102】図7は、図1の構成のうち、UI110の
命令レジスタ(IR)と命令解読器(IDEC)とDS
群,SSAR120群,SS群140及び命令アーキテ
クチャモードレジスタ(以下、IAMRという)などの
マイクロ命令アドレス生成に関係する部分のハードウェ
アの詳細を示すブロック図である。
命令レジスタ(IR)と命令解読器(IDEC)とDS
群,SSAR120群,SS群140及び命令アーキテ
クチャモードレジスタ(以下、IAMRという)などの
マイクロ命令アドレス生成に関係する部分のハードウェ
アの詳細を示すブロック図である。
【0103】図7において、IR111は主記憶などか
ら読み出された命令語を一時的にバッファしておくレジ
スタであり、信号線701を介して主記憶100など
と、また信号線702を介してIDEC112と接続さ
れている。IDEC112は、IR111から送出され
た命令語を受け取り、該命令語の命令コードを解読し
て、該命令コードや命令フォーマット、その他の命令解
読結果をDS群113に送出するデコーダであり、信号
線702及び信号線703を介して、それぞれIR11
1とDS群113とに接続されている。
ら読み出された命令語を一時的にバッファしておくレジ
スタであり、信号線701を介して主記憶100など
と、また信号線702を介してIDEC112と接続さ
れている。IDEC112は、IR111から送出され
た命令語を受け取り、該命令語の命令コードを解読し
て、該命令コードや命令フォーマット、その他の命令解
読結果をDS群113に送出するデコーダであり、信号
線702及び信号線703を介して、それぞれIR11
1とDS群113とに接続されている。
【0104】IAMR115は、マイクロコード制御で
命令処理を行なう情報処理装置の命令アーキテクチャを
規定する値を保持するレジスタであり、信号線700を
介して命令アーキテクチャを規定する値が入力され、信
号線704を介して、それぞれEU180とDS群11
3とに接続されている。該IAMR115の値を変える
ことにより、同一命令コードを持つ命令でありながら、
異なる動作仕様を持つ命令処理の実行が可能になる。
命令処理を行なう情報処理装置の命令アーキテクチャを
規定する値を保持するレジスタであり、信号線700を
介して命令アーキテクチャを規定する値が入力され、信
号線704を介して、それぞれEU180とDS群11
3とに接続されている。該IAMR115の値を変える
ことにより、同一命令コードを持つ命令でありながら、
異なる動作仕様を持つ命令処理の実行が可能になる。
【0105】DS群113は、DS(0)113−0,
DS(1)113−1,・・・,DS(n)113−n
からなり、前記IDEC112で解読された命令語の命
令解読結果と前記IAMR115から送出される命令ア
ーキテクチャを規定する値によって、該DS群113の
何れか1つのDSが選択される。DS113−0〜11
3−nは、それぞれの命令アーキテクチャに対応した命
令語の命令解読結果を元に、SS群140の対応するS
Sの該命令語に対応する先頭のシーケンスコードを格納
しているアドレスであるシーケンスコードアドレスある
いは直接CS160のマイクロ命令アドレスを作成す
る。更に、DS113−0〜113−nは、該実行の対
象となる命令語のオペランドアドレスやオペランドデー
タ及びマイクロコードの実行に必要な制御情報を作成す
る。これらDS113−0〜113−nは、信号線70
3,信号線704を介してIDEC112,IAMR1
15と接続され、また、信号線705(図1の12に対
応),信号線706を介してCSAR150,EU18
0と接続され、更に、信号線707−0〜707−n
(図1の11に対応)を介して、それぞれSSAR群1
20の対応するSSARに接続される。
DS(1)113−1,・・・,DS(n)113−n
からなり、前記IDEC112で解読された命令語の命
令解読結果と前記IAMR115から送出される命令ア
ーキテクチャを規定する値によって、該DS群113の
何れか1つのDSが選択される。DS113−0〜11
3−nは、それぞれの命令アーキテクチャに対応した命
令語の命令解読結果を元に、SS群140の対応するS
Sの該命令語に対応する先頭のシーケンスコードを格納
しているアドレスであるシーケンスコードアドレスある
いは直接CS160のマイクロ命令アドレスを作成す
る。更に、DS113−0〜113−nは、該実行の対
象となる命令語のオペランドアドレスやオペランドデー
タ及びマイクロコードの実行に必要な制御情報を作成す
る。これらDS113−0〜113−nは、信号線70
3,信号線704を介してIDEC112,IAMR1
15と接続され、また、信号線705(図1の12に対
応),信号線706を介してCSAR150,EU18
0と接続され、更に、信号線707−0〜707−n
(図1の11に対応)を介して、それぞれSSAR群1
20の対応するSSARに接続される。
【0106】SSAR群120は、DS群113に対応
して、SSAR(0)120−0,SSAR(1)12
0−1,・・・,SSAR(n)120−nからなり、
それぞれDS群113の対応するDS(0)113−
0,DS(1)113−1,・・・,DS(n)113
−nから送られてきたシーケンスコードアドレスを一旦
セットし、SS群140の対応するSSに読み出し要求
を送出する。各SSAR120−0〜120−nは、信
号線707−0〜707−n(図1の11)を介してD
S群113の対応するDSに接続され、また、信号線7
08−0〜708−n(図1の13に対応)を介してS
S群140の対応するSSに接続される。更に、SSA
R120−0〜120−nには、図1で示したように、
アドレス加算器130との入出力線、SS群140の出
力線、CSDR170の出力線などが接続されるが、図
7では省略してある。
して、SSAR(0)120−0,SSAR(1)12
0−1,・・・,SSAR(n)120−nからなり、
それぞれDS群113の対応するDS(0)113−
0,DS(1)113−1,・・・,DS(n)113
−nから送られてきたシーケンスコードアドレスを一旦
セットし、SS群140の対応するSSに読み出し要求
を送出する。各SSAR120−0〜120−nは、信
号線707−0〜707−n(図1の11)を介してD
S群113の対応するDSに接続され、また、信号線7
08−0〜708−n(図1の13に対応)を介してS
S群140の対応するSSに接続される。更に、SSA
R120−0〜120−nには、図1で示したように、
アドレス加算器130との入出力線、SS群140の出
力線、CSDR170の出力線などが接続されるが、図
7では省略してある。
【0107】SS群140は、DS群113及びSSA
R群120に対応して、同様にSS(0)140−0,
SS(1)140−1,・・・,SS(n)140−n
からなる。これらSS140−0〜140−nのそれぞ
れは、CS160のマイクロ命令アドレスを指定する複
数のシーケンスコードを格納する記憶装置であり、SS
AR120のそれぞれ対応するSSAR(0)120−
0,SSAR(1)120−1,・・・,SSAR
(n)120−nからのシーケンスコードアドレスを伴
う読み出し要求により、指定されたシーケンスコードを
読み出して信号線709(図1の15に対応)に送出す
る。各SS140−0〜140−nは、信号線708−
0〜708−n(図1の13)を介してSSAR群12
0の対応するSSARに接続され、また、信号線709
(図1の15)を介してCSAR150に共通に接続さ
れる。
R群120に対応して、同様にSS(0)140−0,
SS(1)140−1,・・・,SS(n)140−n
からなる。これらSS140−0〜140−nのそれぞ
れは、CS160のマイクロ命令アドレスを指定する複
数のシーケンスコードを格納する記憶装置であり、SS
AR120のそれぞれ対応するSSAR(0)120−
0,SSAR(1)120−1,・・・,SSAR
(n)120−nからのシーケンスコードアドレスを伴
う読み出し要求により、指定されたシーケンスコードを
読み出して信号線709(図1の15に対応)に送出す
る。各SS140−0〜140−nは、信号線708−
0〜708−n(図1の13)を介してSSAR群12
0の対応するSSARに接続され、また、信号線709
(図1の15)を介してCSAR150に共通に接続さ
れる。
【0108】次に、図1及び図7を用いて、本マイクロ
コード制御で命令処理を行なう情報処理装置をマルチ命
令アーキテクチャプロセッサとして動作させた場合の、
マイクロ命令の読出し及び実行に関係するDS群、SS
AR群、SS群の選択手順について、その一実施例を説
明する。
コード制御で命令処理を行なう情報処理装置をマルチ命
令アーキテクチャプロセッサとして動作させた場合の、
マイクロ命令の読出し及び実行に関係するDS群、SS
AR群、SS群の選択手順について、その一実施例を説
明する。
【0109】マルチ命令アーキテクチャプロセッサは、
命令語の処理を開始するに先立ち、命令のアーキテクチ
ャモードの値をIAMR115に信号線700を介して
セットする。この命令アーキテクチャモードは、例えば
プログラム状態語(PSW)に用意しておき、これをI
AMR115に設定すればよい。その後、IU110
は、命令語の読み出し要求を主記憶100等に対して送
出し、該読み出された命令語をIR111にセットし、
該セットされた命令語をIDEC112に送出する。I
DEC112は、命令語の命令コードを解読して、その
命令解読結果をDS(0)113−0,DS(1)11
3−1,・・・,DS(n)113−nから成るDS群
113に送出する。
命令語の処理を開始するに先立ち、命令のアーキテクチ
ャモードの値をIAMR115に信号線700を介して
セットする。この命令アーキテクチャモードは、例えば
プログラム状態語(PSW)に用意しておき、これをI
AMR115に設定すればよい。その後、IU110
は、命令語の読み出し要求を主記憶100等に対して送
出し、該読み出された命令語をIR111にセットし、
該セットされた命令語をIDEC112に送出する。I
DEC112は、命令語の命令コードを解読して、その
命令解読結果をDS(0)113−0,DS(1)11
3−1,・・・,DS(n)113−nから成るDS群
113に送出する。
【0110】一方、前記IAMR115に信号線700
を介してセットされた命令語のアーキテクチャモードの
値は、信号線704を介して、EU180へ送られると
ともに、DS(0)113−0,DS(1)113−
1,・・・,DS(n)113−nから成るDS群11
3に送出され、1つのDSが選択される。例えば、IA
MR115にセットされた命令語のアーキテクチャモー
ドの値が“0”であれば、DS(0)113−0が選択
され、前記アーキテクチャモードの値が“1”であれ
ば、DS(1)113−1が選択され、そして、前記ア
ーキテクチャモードの値が“n”であれば、DS(n)
113−nが選択される様に制御される。
を介してセットされた命令語のアーキテクチャモードの
値は、信号線704を介して、EU180へ送られると
ともに、DS(0)113−0,DS(1)113−
1,・・・,DS(n)113−nから成るDS群11
3に送出され、1つのDSが選択される。例えば、IA
MR115にセットされた命令語のアーキテクチャモー
ドの値が“0”であれば、DS(0)113−0が選択
され、前記アーキテクチャモードの値が“1”であれ
ば、DS(1)113−1が選択され、そして、前記ア
ーキテクチャモードの値が“n”であれば、DS(n)
113−nが選択される様に制御される。
【0111】DS群113を構成しているDS(0)1
13−0,DS(1)113−1,・・・,DS(n)
113−nには、それぞれSSAR群120とSS群1
40におけるSSAR(0)120−0とSS(0)1
40−0,SSAR(1)120−1とSS(1)14
0−1,・・・,SSAR(n)120−nとSS
(n)140−nが対応づけられ、それぞれ異なる命令
アーキテクチャのシーケンスコードアドレスとシーケン
スコードが格納されている。
13−0,DS(1)113−1,・・・,DS(n)
113−nには、それぞれSSAR群120とSS群1
40におけるSSAR(0)120−0とSS(0)1
40−0,SSAR(1)120−1とSS(1)14
0−1,・・・,SSAR(n)120−nとSS
(n)140−nが対応づけられ、それぞれ異なる命令
アーキテクチャのシーケンスコードアドレスとシーケン
スコードが格納されている。
【0112】DS群113中の選択されたDS(i)1
13−iは、IAMR115の出力である命令語のアー
キテクチャの値とIDEC112から送出される命令解
読結果から、該命令語がシーケンスコードを使用すると
判断した場合、対応するSS(i)140−iにおける
該命令語に対応する先頭のシーケンスコードを格納して
いるアドレス(シーケンスコードアドレス)を信号線7
07−iに出力する。なお、DSが生成するIUセット
アップデータには、シーケンスコードアドレスの他に、
当該命令のオペランドアドレスやオペランドデータ及び
制御情報などがあるが、これらは信号線706を介して
EU180へ送られる。SSAR群120のSSAR
(i)120−iは、前記DS(i)113−iが信号
線707−iに出力したシーケンスコードアドレスを一
旦セットした後、該シーケンスコードアドレスを信号線
708−iを介してSS群140のSS(i)140−
iに送出する。また、SSAR(i)120−iは、シ
ーケンスコードアドレスをアドレス加算器130に送
り、該アドレス加算器130から更新後のシーケンスコ
ードアドレスを受け取る。以下、これを繰り返す。
13−iは、IAMR115の出力である命令語のアー
キテクチャの値とIDEC112から送出される命令解
読結果から、該命令語がシーケンスコードを使用すると
判断した場合、対応するSS(i)140−iにおける
該命令語に対応する先頭のシーケンスコードを格納して
いるアドレス(シーケンスコードアドレス)を信号線7
07−iに出力する。なお、DSが生成するIUセット
アップデータには、シーケンスコードアドレスの他に、
当該命令のオペランドアドレスやオペランドデータ及び
制御情報などがあるが、これらは信号線706を介して
EU180へ送られる。SSAR群120のSSAR
(i)120−iは、前記DS(i)113−iが信号
線707−iに出力したシーケンスコードアドレスを一
旦セットした後、該シーケンスコードアドレスを信号線
708−iを介してSS群140のSS(i)140−
iに送出する。また、SSAR(i)120−iは、シ
ーケンスコードアドレスをアドレス加算器130に送
り、該アドレス加算器130から更新後のシーケンスコ
ードアドレスを受け取る。以下、これを繰り返す。
【0113】SS群140のSS(i)140−iは、
前記SSAR(i)120−iからのシーケンスコード
アドレスを用いて目的とするシーケンスコードを読み出
し、信号線709(図1の15)を介してCSAR15
0に送出する。CSAR150は、SS群140のSS
(i)140−iから読み出されたシーケンスコードを
受取り、一旦セットした後、該セットされたシーケンス
コードを用いてCS160に対し読み出し要求を出す。
前記SSAR(i)120−iからのシーケンスコード
アドレスを用いて目的とするシーケンスコードを読み出
し、信号線709(図1の15)を介してCSAR15
0に送出する。CSAR150は、SS群140のSS
(i)140−iから読み出されたシーケンスコードを
受取り、一旦セットした後、該セットされたシーケンス
コードを用いてCS160に対し読み出し要求を出す。
【0114】一方、前記DS群113中の選択されたD
S(i)113−iは、前記IAMR115の出力であ
る命令語のアーキテクチャモードの値とIDEC112
から送出される命令解読結果から、該命令語はシーケン
スコードを使用しないと判断した場合、信号線707−
iにシーケンスコードアドレスを出力せず、その替わり
に該命令語に対応する先頭のマイクロ命令アドレスを、
信号線705(図1の1002)を介してCSAR15
0に直接送出する。CSAR150は前記マイクロ命令
アドレスを受取り、一旦セットした後、該セットされた
マイクロ命令アドレスを用いてCS160に対し読み出
し要求を出す。この場合、選択されたDS(i)113
−iに対応するSSAR(i)120−iとSS(i)
140−iの動作は抑止される。
S(i)113−iは、前記IAMR115の出力であ
る命令語のアーキテクチャモードの値とIDEC112
から送出される命令解読結果から、該命令語はシーケン
スコードを使用しないと判断した場合、信号線707−
iにシーケンスコードアドレスを出力せず、その替わり
に該命令語に対応する先頭のマイクロ命令アドレスを、
信号線705(図1の1002)を介してCSAR15
0に直接送出する。CSAR150は前記マイクロ命令
アドレスを受取り、一旦セットした後、該セットされた
マイクロ命令アドレスを用いてCS160に対し読み出
し要求を出す。この場合、選択されたDS(i)113
−iに対応するSSAR(i)120−iとSS(i)
140−iの動作は抑止される。
【0115】CS160は、前記CSAR150から送
られたシーケンスコードあるいはマイクロ命令アドレス
を用いて目的とするマイクロ命令を読み出し、CSDR
170に送出する。CSDR170は、CS160から
で読み出されたマイクロ命令(マイクロ命令データ)を
受取り、一旦セットした後で、該セットされたマイクロ
命令をEU180に送出し、また、場合によってはIU
110やSSAR群120のSSAR(i)120−i
に送る。
られたシーケンスコードあるいはマイクロ命令アドレス
を用いて目的とするマイクロ命令を読み出し、CSDR
170に送出する。CSDR170は、CS160から
で読み出されたマイクロ命令(マイクロ命令データ)を
受取り、一旦セットした後で、該セットされたマイクロ
命令をEU180に送出し、また、場合によってはIU
110やSSAR群120のSSAR(i)120−i
に送る。
【0116】次に、図8を用いて、本発明のマイクロコ
ード制御で命令処理を行なう情報処理装置のマルチ命令
アーキテクチャプロセッサが、命令語の機能を複数のシ
ーケンスコードと複数のマイクロ命令から構成されるマ
イクロコード処理手順で実現する場合の、個々のマイク
ロ命令のCS内での記述頻度について説明する。
ード制御で命令処理を行なう情報処理装置のマルチ命令
アーキテクチャプロセッサが、命令語の機能を複数のシ
ーケンスコードと複数のマイクロ命令から構成されるマ
イクロコード処理手順で実現する場合の、個々のマイク
ロ命令のCS内での記述頻度について説明する。
【0117】図8は、先の図5の命令Aと命令Bについ
て、複数のシーケンスコードと複数のマイクロ命令の複
数の機能を組み合わせて実現した場合の、個々の命令に
対する複数のシーケンスコードと複数のマイクロ命令機
能の組合せ、及び、CS内のマイクロ命令配置を示した
図である。
て、複数のシーケンスコードと複数のマイクロ命令の複
数の機能を組み合わせて実現した場合の、個々の命令に
対する複数のシーケンスコードと複数のマイクロ命令機
能の組合せ、及び、CS内のマイクロ命令配置を示した
図である。
【0118】図8において、(1)は、記憶領域間のデ
ータ移動を行なう機能を持つ命令Aを、複数のシーケン
スコードと複数のマイクロ命令機能の組合せで実現した
場合のプログラミング順序を示した例である。これは、
図5の(1)で示した命令と同じ機能を持つ。(2)
は、記憶領域間のデータの排他的論理和を行なう機能を
持つ命令Bを、同じく複数のシーケンスコードと複数の
マイクロ命令機能の組合せで実現した場合のプログラミ
ング順序を示した例である。これは、図5の(2)で示
した命令と同じ機能を持つ。(3)は、前記命令Aと命
令Bで使用される複数のマイクロ命令のCS上での配置
状況を示した図である。
ータ移動を行なう機能を持つ命令Aを、複数のシーケン
スコードと複数のマイクロ命令機能の組合せで実現した
場合のプログラミング順序を示した例である。これは、
図5の(1)で示した命令と同じ機能を持つ。(2)
は、記憶領域間のデータの排他的論理和を行なう機能を
持つ命令Bを、同じく複数のシーケンスコードと複数の
マイクロ命令機能の組合せで実現した場合のプログラミ
ング順序を示した例である。これは、図5の(2)で示
した命令と同じ機能を持つ。(3)は、前記命令Aと命
令Bで使用される複数のマイクロ命令のCS上での配置
状況を示した図である。
【0119】図8の(1)及び(2)についての個々の
マイクロ命令機能とその役割は、図5の(1)及び
(2)の説明で既に説明したので、ここでは省略する。
マイクロ命令機能とその役割は、図5の(1)及び
(2)の説明で既に説明したので、ここでは省略する。
【0120】図8の(1)に示すように、命令Aを実行
するに当たってのマイクロコード処理手順は、SS群1
40の例えばSS(i)140−iの中にシーケンスコ
ードアドレスaから始まる連続した領域に格納される複
数のシーケンスコードとして記述しておく。この場合、
該マイクロコード処理手順は、DS(i)113−iで
先頭のシーケンスコードアドレスaを生成し、SS
(i)140−iよりシーケンスコードを該シーケンス
コードアドレスaの上昇方向に逐次取り出し、該シーケ
ンスコードが指定するマイクロ命令アドレスで示される
マイクロ命令を、図8の(3)に示すCS160内のマ
イクロ命令配置から逐次取り出し、該取り出されたマイ
クロ命令をEU180によって逐次実行することによっ
て実現される。
するに当たってのマイクロコード処理手順は、SS群1
40の例えばSS(i)140−iの中にシーケンスコ
ードアドレスaから始まる連続した領域に格納される複
数のシーケンスコードとして記述しておく。この場合、
該マイクロコード処理手順は、DS(i)113−iで
先頭のシーケンスコードアドレスaを生成し、SS
(i)140−iよりシーケンスコードを該シーケンス
コードアドレスaの上昇方向に逐次取り出し、該シーケ
ンスコードが指定するマイクロ命令アドレスで示される
マイクロ命令を、図8の(3)に示すCS160内のマ
イクロ命令配置から逐次取り出し、該取り出されたマイ
クロ命令をEU180によって逐次実行することによっ
て実現される。
【0121】同様に、図8の(2)に示すように、命令
Bを実行するに当たってのマイクロコード処理手順は、
SS群140の例えばSS(i)140−iの中にシー
ケンスコードアドレスbから始まる連続した領域に格納
される複数のシーケンスコードとして記述しておく。こ
の場合、該マイクロコード処理手順は、DS(i)11
3−iで先頭のシーケンスコードアドレスbを生成し、
SS(i)140−iよりシーケンスコードを該シーケ
ンスコードアドレスbの上昇方向に逐次取り出し、該シ
ーケンスコードが指定するマイクロ命令アドレスで示さ
れるマイクロ命令を、同様に図8の(3)に示すCS1
60内のマイクロ命令配置から逐次取り出し、該取り出
されたマイクロ命令をEU180によって逐次実行する
ことによって実現される。
Bを実行するに当たってのマイクロコード処理手順は、
SS群140の例えばSS(i)140−iの中にシー
ケンスコードアドレスbから始まる連続した領域に格納
される複数のシーケンスコードとして記述しておく。こ
の場合、該マイクロコード処理手順は、DS(i)11
3−iで先頭のシーケンスコードアドレスbを生成し、
SS(i)140−iよりシーケンスコードを該シーケ
ンスコードアドレスbの上昇方向に逐次取り出し、該シ
ーケンスコードが指定するマイクロ命令アドレスで示さ
れるマイクロ命令を、同様に図8の(3)に示すCS1
60内のマイクロ命令配置から逐次取り出し、該取り出
されたマイクロ命令をEU180によって逐次実行する
ことによって実現される。
【0122】図8に示すように、SS群140を用いる
ことにより、命令Aと命令Bで使用されるマイクロ命令
はCS160内に10個格納しておけば良い。即ち、マ
イクロ命令の種類数に比較して極めて多い数のマイクロ
命令を、重複してCS内に格納しておく必要がなくな
る。なお、その代わりに、SS群内にシーケンスコード
を格納する必要があるが、シーケンスコードのフィール
ド数は、マイクロ命令のフィールド数に比べて格段に少
なく、CSの容量の減少メリットに比べれば、SS群を
使用するデメリットは左程問題ではない。一般に、同一
命令コードを持つ命令に対し、異なる動作仕様を持つ命
令処理を実行させる場合には、SS群にそれぞれ異なる
組合せと実行順序のシーケンスコード列を格納しておけ
ばよい。SS群に格納するのはシーケンスコード列だけ
であり、SS群は小型且つ高速にできる。
ことにより、命令Aと命令Bで使用されるマイクロ命令
はCS160内に10個格納しておけば良い。即ち、マ
イクロ命令の種類数に比較して極めて多い数のマイクロ
命令を、重複してCS内に格納しておく必要がなくな
る。なお、その代わりに、SS群内にシーケンスコード
を格納する必要があるが、シーケンスコードのフィール
ド数は、マイクロ命令のフィールド数に比べて格段に少
なく、CSの容量の減少メリットに比べれば、SS群を
使用するデメリットは左程問題ではない。一般に、同一
命令コードを持つ命令に対し、異なる動作仕様を持つ命
令処理を実行させる場合には、SS群にそれぞれ異なる
組合せと実行順序のシーケンスコード列を格納しておけ
ばよい。SS群に格納するのはシーケンスコード列だけ
であり、SS群は小型且つ高速にできる。
【0123】以上、実施例の説明では、シーケンスコー
ドによってマイクロ命令のアドレスを指定する場合を例
示したが、図1に破線で示したように、従来のマイクロ
命令内のブランチアドレスフィールドを用いてマイクロ
命令のアドレスを指定する方式と併用するようにしても
良いことは云うまでもない。
ドによってマイクロ命令のアドレスを指定する場合を例
示したが、図1に破線で示したように、従来のマイクロ
命令内のブランチアドレスフィールドを用いてマイクロ
命令のアドレスを指定する方式と併用するようにしても
良いことは云うまでもない。
【0124】次に、本発明によるハードウェアロジック
制御で命令処理を行なう情報処理装置の実施例を説明す
る。
制御で命令処理を行なう情報処理装置の実施例を説明す
る。
【0125】図15は、シミュレータ又はエミュレータ
制御で異なる命令アーキテクチャを持つ命令の命令処理
をハードウェアロジック制御で行なう本発明の情報処理
装置の一実施例を示すブロック図で、特に、命令の読出
し及び実行に関係する部分の全体的構成を示したもので
ある。
制御で異なる命令アーキテクチャを持つ命令の命令処理
をハードウェアロジック制御で行なう本発明の情報処理
装置の一実施例を示すブロック図で、特に、命令の読出
し及び実行に関係する部分の全体的構成を示したもので
ある。
【0126】図15において、1500は主記憶(M
S)、1510は情報処理装置が基本的にサポートして
いるアーキテクチャの命令の読出し及び実行に関係する
命令制御ユニット(IU)、1520は複数のシーケン
スアドレスレジスタ(SSAR)から成るSSAR群、
1530はアドレス加算器、1540は複数のシーケン
ス記憶(SS)から成るSS群、1560は命令記憶
(IS)、1570は命令修飾変換ユニット(IM
U)、1580は実行ユニット(EU)、1590はレ
ジスタ・ファイル群である。
S)、1510は情報処理装置が基本的にサポートして
いるアーキテクチャの命令の読出し及び実行に関係する
命令制御ユニット(IU)、1520は複数のシーケン
スアドレスレジスタ(SSAR)から成るSSAR群、
1530はアドレス加算器、1540は複数のシーケン
ス記憶(SS)から成るSS群、1560は命令記憶
(IS)、1570は命令修飾変換ユニット(IM
U)、1580は実行ユニット(EU)、1590はレ
ジスタ・ファイル群である。
【0127】MS1500は、1つ又は複数の命令アー
キテクチャからなるプログラム群を格納しておく記憶装
置であり、信号線15001を介してそれぞれIU15
10、SS群1540及びIS1560に接続されてい
る。さらに、MS1500は信号線15008を介して
EU1580に接続されている。さらに、MS1500
は信号線15008を介してEU1580に接続されて
いる。
キテクチャからなるプログラム群を格納しておく記憶装
置であり、信号線15001を介してそれぞれIU15
10、SS群1540及びIS1560に接続されてい
る。さらに、MS1500は信号線15008を介して
EU1580に接続されている。さらに、MS1500
は信号線15008を介してEU1580に接続されて
いる。
【0128】IU1510は、基本的に図9に示したと
ころのIRとIDEC及びDSとから成るが、DSは異
なる命令アーキテクチャ毎に複数具備している。図15
では、これをDS群1513で示す。IU1510は、
命令語の読み出し要求を主記憶1500に対して送出
し、該読み出された命令語をIRにセットし、IDEC
に送出する。IDEC1612は、命令語の命令コード
を解読して、その命令解読結果を複数のDSから成るD
S群1513に送出する。DS群1513は、命令語の
命令解読結果を元に該命令語に対応するセットアップデ
ータを生成する装置であるが、該セットアップデータに
は当該命令語に対応する先頭のシーケンスコードを格納
しているSS群1540のシーケンスコードアドレスが
含まれる。IU1510は、信号線15002,150
09を介してそれぞれSSAR群1520及びIMU1
570に接続され、更に信号線15010を介してEU
1580に接続されている。
ころのIRとIDEC及びDSとから成るが、DSは異
なる命令アーキテクチャ毎に複数具備している。図15
では、これをDS群1513で示す。IU1510は、
命令語の読み出し要求を主記憶1500に対して送出
し、該読み出された命令語をIRにセットし、IDEC
に送出する。IDEC1612は、命令語の命令コード
を解読して、その命令解読結果を複数のDSから成るD
S群1513に送出する。DS群1513は、命令語の
命令解読結果を元に該命令語に対応するセットアップデ
ータを生成する装置であるが、該セットアップデータに
は当該命令語に対応する先頭のシーケンスコードを格納
しているSS群1540のシーケンスコードアドレスが
含まれる。IU1510は、信号線15002,150
09を介してそれぞれSSAR群1520及びIMU1
570に接続され、更に信号線15010を介してEU
1580に接続されている。
【0129】SSAR群1520は、IU1510のD
S群1513に対応して複数のSSARからなる。該S
SAR群1520は信号線15003を介して、それぞ
れSS群1540及びアドレス加算器1530に接続さ
れている。
S群1513に対応して複数のSSARからなる。該S
SAR群1520は信号線15003を介して、それぞ
れSS群1540及びアドレス加算器1530に接続さ
れている。
【0130】アドレス加算器1530は、信号線150
03及び信号線15012を介してSSAR群1520
に接続されている。該アドレス加算器130は、SSA
R群120で共用され、SSAR群120のあるSSA
Rから信号線15003を介して送られて来るシーケン
スコードアドレスの値を更新し、信号線15012を介
して当該SSARに返送する役割を有する。これによ
り、SSAR群120の各SSARは、次にこの更新さ
れたシーケンスコードアドレスの値でSS群140の該
当SSに対して読み出し要求を送出し、同時に、該更新
されたシーケンスコードアドレスをアドレス加算器13
0に送出する。
03及び信号線15012を介してSSAR群1520
に接続されている。該アドレス加算器130は、SSA
R群120で共用され、SSAR群120のあるSSA
Rから信号線15003を介して送られて来るシーケン
スコードアドレスの値を更新し、信号線15012を介
して当該SSARに返送する役割を有する。これによ
り、SSAR群120の各SSARは、次にこの更新さ
れたシーケンスコードアドレスの値でSS群140の該
当SSに対して読み出し要求を送出し、同時に、該更新
されたシーケンスコードアドレスをアドレス加算器13
0に送出する。
【0131】SS群1540は、SSAR群1520に
対応して複数のSSからなる。該SS群1540は、I
S1560に格納されている情報処理装置が基本的にサ
ポートしている命令アーキテクチャの命令群のそれぞれ
の命令アドレスを指定する複数のシーケンスコードを格
納する記憶装置であり、SSAR群1520からのシー
ケンスコードアドレスを伴なった読み出し要求により、
指定されたシーケンスコードを読み出す。該SS群15
40は、信号線15004を介してIS1560に接続
され、また、信号線15005を介してIMU1570
に接続されている。
対応して複数のSSからなる。該SS群1540は、I
S1560に格納されている情報処理装置が基本的にサ
ポートしている命令アーキテクチャの命令群のそれぞれ
の命令アドレスを指定する複数のシーケンスコードを格
納する記憶装置であり、SSAR群1520からのシー
ケンスコードアドレスを伴なった読み出し要求により、
指定されたシーケンスコードを読み出す。該SS群15
40は、信号線15004を介してIS1560に接続
され、また、信号線15005を介してIMU1570
に接続されている。
【0132】IS1560は、情報処理装置が基本的に
サポートしている命令アーキテクチャの命令群(命令語
群)を格納している記憶装置であり、前記SS群154
0から送られてきたシーケンスコードアドレスを命令ア
ドレスとして目的とする命令語を読み出す。該IS15
60は、信号線15006を介してIMU1570に接
続され、さらに信号線15007を介してIU1510
に接続される。
サポートしている命令アーキテクチャの命令群(命令語
群)を格納している記憶装置であり、前記SS群154
0から送られてきたシーケンスコードアドレスを命令ア
ドレスとして目的とする命令語を読み出す。該IS15
60は、信号線15006を介してIMU1570に接
続され、さらに信号線15007を介してIU1510
に接続される。
【0133】IMU1570は、命令で指定された機能
をEU1580で実際に実行できるような命令語データ
を生成する命令修飾変換ユニットであり、IS1560
から読み出された命令語データを信号線15006を介
して受取り、SS群1540から信号線15005を介
して送られてくるシーケンスコードやIU1509から
信号線15010を介して送られてくるセットアップデ
ータの内容に基づいて、前記命令語データの任意のフィ
ールドのデータの修飾そして変換を行う。該IMU15
70は、信号線15007を介してIU1510に接続
され、修飾結果をIU1510に送る。
をEU1580で実際に実行できるような命令語データ
を生成する命令修飾変換ユニットであり、IS1560
から読み出された命令語データを信号線15006を介
して受取り、SS群1540から信号線15005を介
して送られてくるシーケンスコードやIU1509から
信号線15010を介して送られてくるセットアップデ
ータの内容に基づいて、前記命令語データの任意のフィ
ールドのデータの修飾そして変換を行う。該IMU15
70は、信号線15007を介してIU1510に接続
され、修飾結果をIU1510に送る。
【0134】EU1580は、IU1510から送られ
た命令の実行条件を含むIUセットアップデータから該
命令を実行する演算実行ユニットであり、この演算実行
に使用されるオペランドデータは、主記憶1500やレ
ジスタファイル群1590をアクセスして得る。レジス
タファイル群1590は、IP内に用意されているレジ
スタ群であり、命令語で指定できるオペランド用レジス
タとハードウェアが一時的に使用するテンポラリレジス
タとからなり、信号線15011を介してEU1580
に接続されている。
た命令の実行条件を含むIUセットアップデータから該
命令を実行する演算実行ユニットであり、この演算実行
に使用されるオペランドデータは、主記憶1500やレ
ジスタファイル群1590をアクセスして得る。レジス
タファイル群1590は、IP内に用意されているレジ
スタ群であり、命令語で指定できるオペランド用レジス
タとハードウェアが一時的に使用するテンポラリレジス
タとからなり、信号線15011を介してEU1580
に接続されている。
【0135】図16は、図15の構成のうち、情報処理
装置が基本的にサポートしているアーキテクチャの命令
語の読出し及び実行に関係するIU1510のIR15
11、IDEC1512、DS群1513、SSAR群
1520、SS群1540及びIAMR1600からな
る部分のハードウェアの詳細を示すブロック図である。
装置が基本的にサポートしているアーキテクチャの命令
語の読出し及び実行に関係するIU1510のIR15
11、IDEC1512、DS群1513、SSAR群
1520、SS群1540及びIAMR1600からな
る部分のハードウェアの詳細を示すブロック図である。
【0136】図16において、IR1511は、信号線
15001を介して主記憶1500と接続され、MS1
500から読み出された命令列が格納される。該IR1
511は、信号線16011を介してIDEC1512
と接続され、IDEC1512は信号線16012を介
してそれぞれDS(0)1513−0,DS(1)15
13−1,・・・,DS(n)1513−nのDS群1
513と接続されている。一方、IAMR1600に
は、信号線16001を介して前記MS1500から読
み出された命令列の命令アーキテクチャを規定する値が
入力される。該IAMR1600は信号線16002を
介して、それぞれEU1580とDS(0)1513−
0,DS(1)1513−1,・・・,DS(n)15
13−nのDS群1513と接続されている。
15001を介して主記憶1500と接続され、MS1
500から読み出された命令列が格納される。該IR1
511は、信号線16011を介してIDEC1512
と接続され、IDEC1512は信号線16012を介
してそれぞれDS(0)1513−0,DS(1)15
13−1,・・・,DS(n)1513−nのDS群1
513と接続されている。一方、IAMR1600に
は、信号線16001を介して前記MS1500から読
み出された命令列の命令アーキテクチャを規定する値が
入力される。該IAMR1600は信号線16002を
介して、それぞれEU1580とDS(0)1513−
0,DS(1)1513−1,・・・,DS(n)15
13−nのDS群1513と接続されている。
【0137】DS(0)1513−0,DS(1)15
13−1,・・・,DS(n)1513−nからなるD
S群1513は、前記IR1511で解読された命令語
の命令解読結果と前記IAMR1600から送出される
命令アーキテクチャを規定する値によって、何れかの1
つのDSが選択される。それぞれのDSは、それぞれの
命令アーキテクチャに対応した命令語の命令解読結果を
元に該命令語のセットアップデータを生成はするが、こ
のセットアップデータには当該命令語に対応する先頭の
シーケンスコードを格納しているそれぞれの対応したS
S群1640の中の1つのSSに対応するアドレスであ
るシーケンスコードアドレスが含まれる。DS群151
3は、それぞれ信号線15009,15010を介して
IMU1570、EU1580に接続され、更に、該D
S群1513を形成するDS(0)1513−0,DS
(1)1513−1,・・・,DS(n)1513−n
は、信号線15002−0、信号線15002−1,・
・・,信号線15002−nを介して、それぞれSSA
R群1520を形成するSSAR(0)1520−0、
SSAR(1)1520−1,・・・,SSAR(n)
1520−nと接続されている。
13−1,・・・,DS(n)1513−nからなるD
S群1513は、前記IR1511で解読された命令語
の命令解読結果と前記IAMR1600から送出される
命令アーキテクチャを規定する値によって、何れかの1
つのDSが選択される。それぞれのDSは、それぞれの
命令アーキテクチャに対応した命令語の命令解読結果を
元に該命令語のセットアップデータを生成はするが、こ
のセットアップデータには当該命令語に対応する先頭の
シーケンスコードを格納しているそれぞれの対応したS
S群1640の中の1つのSSに対応するアドレスであ
るシーケンスコードアドレスが含まれる。DS群151
3は、それぞれ信号線15009,15010を介して
IMU1570、EU1580に接続され、更に、該D
S群1513を形成するDS(0)1513−0,DS
(1)1513−1,・・・,DS(n)1513−n
は、信号線15002−0、信号線15002−1,・
・・,信号線15002−nを介して、それぞれSSA
R群1520を形成するSSAR(0)1520−0、
SSAR(1)1520−1,・・・,SSAR(n)
1520−nと接続されている。
【0138】SSAR群1520を形成しているSSA
R(0)1520−0、SSAR(1)1520−1,
・・・,SSAR(n)1520−nは、信号線150
02−0、信号線15002−1,・・・,信号線15
002−nを介して、それぞれDS(0)1513−
0、DS(1)1513−1,・・・,DS(n)15
13−nから送られて来たシーケンスコードアドレスを
一旦セットし、SS群1540を形成しているSS
(0)1540−0,SS(1)1540−1,・・
・,SS(n)1540−nに対し読み出し要求を出す
役割を持つアドレスレジスタである。SSAR(0)1
520−0,SSAR(1)1520−1,・・・,S
SAR(n)1520−nは、それぞれ信号線1500
3−0,信号線15003−1,・・・,信号線150
03−nを介してSS(0)1540−0、SS(1)
1540−1,・・・,SS(n)1540−nに接続
されている。
R(0)1520−0、SSAR(1)1520−1,
・・・,SSAR(n)1520−nは、信号線150
02−0、信号線15002−1,・・・,信号線15
002−nを介して、それぞれDS(0)1513−
0、DS(1)1513−1,・・・,DS(n)15
13−nから送られて来たシーケンスコードアドレスを
一旦セットし、SS群1540を形成しているSS
(0)1540−0,SS(1)1540−1,・・
・,SS(n)1540−nに対し読み出し要求を出す
役割を持つアドレスレジスタである。SSAR(0)1
520−0,SSAR(1)1520−1,・・・,S
SAR(n)1520−nは、それぞれ信号線1500
3−0,信号線15003−1,・・・,信号線150
03−nを介してSS(0)1540−0、SS(1)
1540−1,・・・,SS(n)1540−nに接続
されている。
【0139】SS群1540を形成しているSS(0)
1540−0、SS(1)1540−1,・・・,SS
(n)1540−nのそれぞれは、IS1560に格納
されているところの情報処理装置が基本的にサポートし
ている命令アーキテクチャの命令語の命令アドレスを指
定する複数のシーケンスコードを格納する記憶装置であ
り、SSAR群1520を形成しているSSAR(0)
1520−0、SSAR(1)1520−1,・・・,
SSAR(n)1520−nからのシーケンスコードア
ドレスを伴う読み出し要求により、指定されたシーケン
スコードを読み出してIS1560に送出する。該SS
(0)1540−0、SS(1)1540−1,・・
・,SS(n)1540−nのそれぞれは、信号線15
004,15005を介してIS1560,IMU15
70に接続されている。
1540−0、SS(1)1540−1,・・・,SS
(n)1540−nのそれぞれは、IS1560に格納
されているところの情報処理装置が基本的にサポートし
ている命令アーキテクチャの命令語の命令アドレスを指
定する複数のシーケンスコードを格納する記憶装置であ
り、SSAR群1520を形成しているSSAR(0)
1520−0、SSAR(1)1520−1,・・・,
SSAR(n)1520−nからのシーケンスコードア
ドレスを伴う読み出し要求により、指定されたシーケン
スコードを読み出してIS1560に送出する。該SS
(0)1540−0、SS(1)1540−1,・・
・,SS(n)1540−nのそれぞれは、信号線15
004,15005を介してIS1560,IMU15
70に接続されている。
【0140】図17は、SS群1540内に格納される
一つのシーケンスコードのエントリの形式と内容を説明
した図である。1つのシーケンスコードエントリはコー
ドタイプフィールド1701、アドレスフィールド17
02、PEOPフィールド1703、PEOPフィール
ド1704及び修飾パラメータフィールド1705の5
つのフィールドから構成される。
一つのシーケンスコードのエントリの形式と内容を説明
した図である。1つのシーケンスコードエントリはコー
ドタイプフィールド1701、アドレスフィールド17
02、PEOPフィールド1703、PEOPフィール
ド1704及び修飾パラメータフィールド1705の5
つのフィールドから構成される。
【0141】シーケンスコードエントリのコードタイプ
フィールド1701には、該シーケンスコードエントリ
のアドレスフィールド1702の内容を規定するフラグ
が格納される。更に、このフィールド1701には、I
S1560内の対応する命令語の種類を認識する情報も
格納される。
フィールド1701には、該シーケンスコードエントリ
のアドレスフィールド1702の内容を規定するフラグ
が格納される。更に、このフィールド1701には、I
S1560内の対応する命令語の種類を認識する情報も
格納される。
【0142】アドレスフィールド1702には、該シー
ケンスコードエントリに対応するIS1560内の命令
語のアドレスまたは次に読み出されるべきシーケンスコ
ードエントリのアドレスが格納される。このアドレスフ
ィールドが、前記のどちらのアドレス情報を保持してい
るかは、コードタイプフィールドのフラグで判別され、
該アドレスフィールドが、次に読み出されるべきシーケ
ンスコードエントリのアドレスである場合、該アドレス
フィールドの内容は次に読み出されるシーケンスコード
エントリのアドレスとして使用される。これは、シーケ
ンスコードエントリの読み出し順序の変更に使用され
る。
ケンスコードエントリに対応するIS1560内の命令
語のアドレスまたは次に読み出されるべきシーケンスコ
ードエントリのアドレスが格納される。このアドレスフ
ィールドが、前記のどちらのアドレス情報を保持してい
るかは、コードタイプフィールドのフラグで判別され、
該アドレスフィールドが、次に読み出されるべきシーケ
ンスコードエントリのアドレスである場合、該アドレス
フィールドの内容は次に読み出されるシーケンスコード
エントリのアドレスとして使用される。これは、シーケ
ンスコードエントリの読み出し順序の変更に使用され
る。
【0143】前記EOPフィールド1703には、一連
のシーケンスコードエントリから構成されるシミュレー
タ又はエミュレータの処理手順の終了を示すフラグが設
定される。即ち、シーケンスコードエントリのEOPフ
ィールドの値がオンであるシーケンスコードエントリが
読み出されると、オンであるEOPフィールドの値は即
座にIU1510に送られ(図15では、この経路は省
略してある)、IU群1510は、異なる命令アーキテ
クチャを持つ命令語の読み出しと解読を行ない、該命令
に対応する先頭のSS群1540のシーケンスコードエ
ントリアドレスを作成してSSAR群1520に送出
し、次の命令のシーケンスコードの読み出しを起動す
る。
のシーケンスコードエントリから構成されるシミュレー
タ又はエミュレータの処理手順の終了を示すフラグが設
定される。即ち、シーケンスコードエントリのEOPフ
ィールドの値がオンであるシーケンスコードエントリが
読み出されると、オンであるEOPフィールドの値は即
座にIU1510に送られ(図15では、この経路は省
略してある)、IU群1510は、異なる命令アーキテ
クチャを持つ命令語の読み出しと解読を行ない、該命令
に対応する先頭のSS群1540のシーケンスコードエ
ントリアドレスを作成してSSAR群1520に送出
し、次の命令のシーケンスコードの読み出しを起動す
る。
【0144】PEOPフィールド1704には、一連の
シーケンスコードエントリから構成されるシミュレータ
又はエミュレータの処理手順の擬似的な終了を示すフラ
グが設定される。即ち、シーケンスコードエントリのP
EOPフィールドの値がオンであるシーケンスコードエ
ントリが読み出されると、一連のシーケンスコードエン
トリから構成されるシミュレータ又はエミュレータの処
理手順が終了していなくとも、該PEOPフィールドの
値は即座にIU群1510に送られ、IU群1510
は、異なる命令アーキテクチャを持つ次命令の読み出し
と解読を行ない、該命令に対応する先頭のSS群154
0のシーケンスコードエントリアドレスを作成しSSA
R群1520に送出し、次命令のシーケンスコードの読
み出しを起動する。
シーケンスコードエントリから構成されるシミュレータ
又はエミュレータの処理手順の擬似的な終了を示すフラ
グが設定される。即ち、シーケンスコードエントリのP
EOPフィールドの値がオンであるシーケンスコードエ
ントリが読み出されると、一連のシーケンスコードエン
トリから構成されるシミュレータ又はエミュレータの処
理手順が終了していなくとも、該PEOPフィールドの
値は即座にIU群1510に送られ、IU群1510
は、異なる命令アーキテクチャを持つ次命令の読み出し
と解読を行ない、該命令に対応する先頭のSS群154
0のシーケンスコードエントリアドレスを作成しSSA
R群1520に送出し、次命令のシーケンスコードの読
み出しを起動する。
【0145】修飾パラメータフィールド1705には、
該シーケンスコードエントリのアドレスフィールドで指
定されるIS1560内から読み出された命令語を修飾
したり変更したりする際に使用される修飾パラメータが
格納される。この修飾パラメータは、信号線15005
を介してIMU1570に送出され、IS1560から
読み出された命令語データの任意のフィールドのデータ
の修飾そして変換に使用される。
該シーケンスコードエントリのアドレスフィールドで指
定されるIS1560内から読み出された命令語を修飾
したり変更したりする際に使用される修飾パラメータが
格納される。この修飾パラメータは、信号線15005
を介してIMU1570に送出され、IS1560から
読み出された命令語データの任意のフィールドのデータ
の修飾そして変換に使用される。
【0146】次に、図15及び図16を用いて、シミュ
レータ又はエミュレータ処理手順で異なる命令アーキテ
クチャを持つ命令の命令処理が、本発明の情報処理装置
でどのように行われるか説明する。
レータ又はエミュレータ処理手順で異なる命令アーキテ
クチャを持つ命令の命令処理が、本発明の情報処理装置
でどのように行われるか説明する。
【0147】図15、図16において、情報処理装置は
命令語の処理を開始するに先立ち、処理対象の命令アー
キテクチャモードの値をIAMR1600に信号線16
001を介してセットする。その後、IU1510は命
令語の読み出し要求を主記憶1500に対して送出し、
その読み出された命令語をIR1511にセットし、該
セットされた命令語をIDEC1512に送出し、該I
DEC1512は、該命令語の命令コードを解読して、
その命令解読結果をDS(0)1513−0,DS
(1)1513−1,・・・,DS(n)1513−n
から成るDS群1513に送出する。
命令語の処理を開始するに先立ち、処理対象の命令アー
キテクチャモードの値をIAMR1600に信号線16
001を介してセットする。その後、IU1510は命
令語の読み出し要求を主記憶1500に対して送出し、
その読み出された命令語をIR1511にセットし、該
セットされた命令語をIDEC1512に送出し、該I
DEC1512は、該命令語の命令コードを解読して、
その命令解読結果をDS(0)1513−0,DS
(1)1513−1,・・・,DS(n)1513−n
から成るDS群1513に送出する。
【0148】前記IAMR1600に対し信号線160
01を介してセットされた命令語の命令アーキテクチャ
モードの値は、信号線16002を介してEU1580
に送られるとともに、DS(0)1513−0,DS
(1)1513−1,・・・,DS(n)1513−n
から成るDS群1513に送出されて、前記IAMR1
600の命令アーキテクチャモードの値に対応した1つ
のDSが選択される。例えば、IAMR1600にセッ
トされた命令語の命令アーキテクチャモードの値が’
0’であれば、DS(0)1513−0が選択され、前
記命令アーキテクチャモードの値が’1’であれば、D
S(1)1513−1が選択され、そして、前記命令ア
ーキテクチャモードの値が’n’であれば、DS(n)
1513−nが選択される様に制御される。
01を介してセットされた命令語の命令アーキテクチャ
モードの値は、信号線16002を介してEU1580
に送られるとともに、DS(0)1513−0,DS
(1)1513−1,・・・,DS(n)1513−n
から成るDS群1513に送出されて、前記IAMR1
600の命令アーキテクチャモードの値に対応した1つ
のDSが選択される。例えば、IAMR1600にセッ
トされた命令語の命令アーキテクチャモードの値が’
0’であれば、DS(0)1513−0が選択され、前
記命令アーキテクチャモードの値が’1’であれば、D
S(1)1513−1が選択され、そして、前記命令ア
ーキテクチャモードの値が’n’であれば、DS(n)
1513−nが選択される様に制御される。
【0149】DS群1513を構成しているDS(0)
1513−0,DS(1)1513−1,・・・,DS
(n)1513−nには、それぞれSSAR(0)15
20−0とSS(0)1540−0,SSAR(1)1
520−1とSS(1)1540−1,・・・,SSA
R(n)1520−nとSS(n)1540−nが対応
づけられており、それぞれのDSとSSには、異なる命
令アーキテクチャのシーケンスコードアドレスとシーケ
ンスコードが格納されている。
1513−0,DS(1)1513−1,・・・,DS
(n)1513−nには、それぞれSSAR(0)15
20−0とSS(0)1540−0,SSAR(1)1
520−1とSS(1)1540−1,・・・,SSA
R(n)1520−nとSS(n)1540−nが対応
づけられており、それぞれのDSとSSには、異なる命
令アーキテクチャのシーケンスコードアドレスとシーケ
ンスコードが格納されている。
【0150】DS群1513の中から選択された目的の
DS(i)1513−iの出力であるシーケンスコード
アドレスは、SSAR群1520の対応する1つのSS
AR(i)1520−iにセットされ、SS群1540
を構成している前記DS(i)1513−iに対応する
1つのSS(i)1540−iに入力されて、目的とす
るシーケンスコードが読み出される。該読み出されたシ
ーケンスコードのコードタイプやアドレスフィールドは
信号線15004を介してIS1560へ、また、修飾
パラメータフィールドは信号線15005を介してIM
U1570に送出される。
DS(i)1513−iの出力であるシーケンスコード
アドレスは、SSAR群1520の対応する1つのSS
AR(i)1520−iにセットされ、SS群1540
を構成している前記DS(i)1513−iに対応する
1つのSS(i)1540−iに入力されて、目的とす
るシーケンスコードが読み出される。該読み出されたシ
ーケンスコードのコードタイプやアドレスフィールドは
信号線15004を介してIS1560へ、また、修飾
パラメータフィールドは信号線15005を介してIM
U1570に送出される。
【0151】IS1560は、前記SS(i)1540
−iから送られたシーケンスコードを命令アドレスとし
て目的とする命令語を読み出し、IMU1570に該読
み出した命令データを送出する。
−iから送られたシーケンスコードを命令アドレスとし
て目的とする命令語を読み出し、IMU1570に該読
み出した命令データを送出する。
【0152】IMU1570は、IS1560で読み出
された命令データを受取り、SS(i)1540−iか
ら送られてくるシーケンスコード(修飾パラメータ)の
内容に基づいて、当該命令データの任意のフィールドの
データを修飾そして変換して、EU1580で実行可能
なフォーマットの命令語データ、すなわち、当該情報処
理装置が基本的にサポートしている命令アーキテクチャ
のフォーマットの命令語データを生成し、この命令語デ
ータを信号線15007を介してIU1510に送出す
る。
された命令データを受取り、SS(i)1540−iか
ら送られてくるシーケンスコード(修飾パラメータ)の
内容に基づいて、当該命令データの任意のフィールドの
データを修飾そして変換して、EU1580で実行可能
なフォーマットの命令語データ、すなわち、当該情報処
理装置が基本的にサポートしている命令アーキテクチャ
のフォーマットの命令語データを生成し、この命令語デ
ータを信号線15007を介してIU1510に送出す
る。
【0153】IU1510は、前記IMU1570から
の命令語データを受け取ると、あたかもMS1500か
ら読み出されたと同様に該命令語をIR1511にセッ
トし、該セットされた命令語をIDEC1512に送出
し、該IDEC1512は、該命令語の命令コードを解
読して、その命令解読結果をDS群1513に送出し、
該DS群1513のDS(i)1513−iは、前記命
令語の命令解読結果を元に、今度は該命令語に対応する
命令の実行パラメータである、該命令の実行の対象とな
る命令のオペランドアドレスやオペランドデータ及び命
令の実行に必要な命令実行タイプや命令実行手順の指定
などのIUセットアップデータを生成し、信号線150
10を介してEU1580に送出する。
の命令語データを受け取ると、あたかもMS1500か
ら読み出されたと同様に該命令語をIR1511にセッ
トし、該セットされた命令語をIDEC1512に送出
し、該IDEC1512は、該命令語の命令コードを解
読して、その命令解読結果をDS群1513に送出し、
該DS群1513のDS(i)1513−iは、前記命
令語の命令解読結果を元に、今度は該命令語に対応する
命令の実行パラメータである、該命令の実行の対象とな
る命令のオペランドアドレスやオペランドデータ及び命
令の実行に必要な命令実行タイプや命令実行手順の指定
などのIUセットアップデータを生成し、信号線150
10を介してEU1580に送出する。
【0154】一方、MS1500から読み出された命令
について、DS群1513を構成しているDS(0)1
513−0,DS(1)1513−1,・・・,DS
(n)1513−nが、前記IAMR1615の出力で
ある命令アーキテクチャモードの値とIDEC1512
から送出される命令解読結果とから、該命令はシーケン
スコードを使用せずに実行可能と判断した場合、選択さ
れたDSは、シーケンスコードアドレスを出力せず、そ
のかわりに、その命令に対応する情報処理装置が基本的
にサポートしている命令アーキテクチャそのものの命令
データを信号線1509を介してIMU1570に送出
する。該IMU1570は、前記情報処理装置が基本的
にサポートしている命令アーキテクチャの命令語データ
を受取り、該命令データの任意のフィールドのデータを
修飾そして変換して、実際にEU1580で該命令で指
定された機能を実行可能なフォーマットの命令語データ
を生成し、この命令語データをIU1510に送出す
る。この場合、選択されたDSに対応するSSARとS
Sの選択動作は抑止される。また、命令によっては、選
択されたDSは命令データをIMR1570へ送出せず
に、直ちにIUセットアップデータを生成してEU15
80に送出する。
について、DS群1513を構成しているDS(0)1
513−0,DS(1)1513−1,・・・,DS
(n)1513−nが、前記IAMR1615の出力で
ある命令アーキテクチャモードの値とIDEC1512
から送出される命令解読結果とから、該命令はシーケン
スコードを使用せずに実行可能と判断した場合、選択さ
れたDSは、シーケンスコードアドレスを出力せず、そ
のかわりに、その命令に対応する情報処理装置が基本的
にサポートしている命令アーキテクチャそのものの命令
データを信号線1509を介してIMU1570に送出
する。該IMU1570は、前記情報処理装置が基本的
にサポートしている命令アーキテクチャの命令語データ
を受取り、該命令データの任意のフィールドのデータを
修飾そして変換して、実際にEU1580で該命令で指
定された機能を実行可能なフォーマットの命令語データ
を生成し、この命令語データをIU1510に送出す
る。この場合、選択されたDSに対応するSSARとS
Sの選択動作は抑止される。また、命令によっては、選
択されたDSは命令データをIMR1570へ送出せず
に、直ちにIUセットアップデータを生成してEU15
80に送出する。
【0155】以上、図16では、IR1511とIDE
C1512は1組としたが、これらを2組用意して、M
S1500からの命令語とIMU1570からの命令語
とで使い分けてもよい。更に、IMU1570からの命
令語についてはあらかじめ固有のDSを割り当てるよう
にしてもよい。これにより、DS群1513を形成して
いる各DSの構成を簡単化できる。
C1512は1組としたが、これらを2組用意して、M
S1500からの命令語とIMU1570からの命令語
とで使い分けてもよい。更に、IMU1570からの命
令語についてはあらかじめ固有のDSを割り当てるよう
にしてもよい。これにより、DS群1513を形成して
いる各DSの構成を簡単化できる。
【0156】図18は、本発明の情報処理装置が、シミ
ュレータ又はエミュレータ処理手順で異なる命令アーキ
テクチャを持つ命令の命令処理を行なう際に、該情報処
理装置が基本的にサポートしている命令アーキテクチャ
の命令を組み合わせて1つの異なる命令アーキテクチャ
の命令機能を実現した場合の、個々の命令に対応するシ
ーケンスコードと命令のIS内での記述例を示した図で
ある。
ュレータ又はエミュレータ処理手順で異なる命令アーキ
テクチャを持つ命令の命令処理を行なう際に、該情報処
理装置が基本的にサポートしている命令アーキテクチャ
の命令を組み合わせて1つの異なる命令アーキテクチャ
の命令機能を実現した場合の、個々の命令に対応するシ
ーケンスコードと命令のIS内での記述例を示した図で
ある。
【0157】図18において、(1)は、記憶領域間の
データ移動を行なう機能を持つ命令アーキテクチャbの
命令Aを、複数のシーケンスコードと情報処理装置が基
本的にサポートしている命令アーキテクチャaの命令の
組合せで実現した場合のプログラミング順序を示したフ
ローチャートの例である。この命令Aは、図14の
(1)で示した命令と同じ機能を持つ。(2)は、記憶
領域間のデータの排他的論理和を行なう機能を持つ命令
アーキテクチャbの命令Bを、複数のシーケンスコード
と情報処理装置が基本的にサポートしている命令アーキ
テクチャaの命令の組合せで実現した場合のプログラミ
ング順序を示したフローチャートの例である。これは、
図14の(2)で示した命令と同じ機能を持つ。(3)
は、前記命令アーキテクチャbの命令Aと命令Bで使用
される命令アーキテクチャaの命令のIS上での配置状
況を示した図である。
データ移動を行なう機能を持つ命令アーキテクチャbの
命令Aを、複数のシーケンスコードと情報処理装置が基
本的にサポートしている命令アーキテクチャaの命令の
組合せで実現した場合のプログラミング順序を示したフ
ローチャートの例である。この命令Aは、図14の
(1)で示した命令と同じ機能を持つ。(2)は、記憶
領域間のデータの排他的論理和を行なう機能を持つ命令
アーキテクチャbの命令Bを、複数のシーケンスコード
と情報処理装置が基本的にサポートしている命令アーキ
テクチャaの命令の組合せで実現した場合のプログラミ
ング順序を示したフローチャートの例である。これは、
図14の(2)で示した命令と同じ機能を持つ。(3)
は、前記命令アーキテクチャbの命令Aと命令Bで使用
される命令アーキテクチャaの命令のIS上での配置状
況を示した図である。
【0158】例えば、命令アーキテクチャbの命令Aを
実行するに当たってのシミュレータ又はエミュレータ処
理手順は、SS群1540の中の1つのSSにシーケン
スコードアドレスaから始まる連続した領域に格納され
る複数のシーケンスコードとして記述され、それぞれの
シーケンスコードは、該当SSからシーケンスコードア
ドレスが増加する方向に逐次取り出され、IS1560
内の該シーケンスコードが指定す命令アドレスで指定さ
れる位置から命令アーキテクチャaの命令語が逐次取り
出される。図15で説明したように、この取り出された
命令アーキテクチャaの命令語をIMU1570に送出
し、該IMU1570で命令アーキテクチャbの命令A
の命令情報を用いて前記命令アーキテクチャaの命令デ
ータの所定のフィールドのデータを修飾そして変換し、
この命令語データをIU1510に送出し、IU群15
10からIUセットアップデータとしてEU1580に
送出する。命令アーキテクチャbの命令Bについても同
様である。
実行するに当たってのシミュレータ又はエミュレータ処
理手順は、SS群1540の中の1つのSSにシーケン
スコードアドレスaから始まる連続した領域に格納され
る複数のシーケンスコードとして記述され、それぞれの
シーケンスコードは、該当SSからシーケンスコードア
ドレスが増加する方向に逐次取り出され、IS1560
内の該シーケンスコードが指定す命令アドレスで指定さ
れる位置から命令アーキテクチャaの命令語が逐次取り
出される。図15で説明したように、この取り出された
命令アーキテクチャaの命令語をIMU1570に送出
し、該IMU1570で命令アーキテクチャbの命令A
の命令情報を用いて前記命令アーキテクチャaの命令デ
ータの所定のフィールドのデータを修飾そして変換し、
この命令語データをIU1510に送出し、IU群15
10からIUセットアップデータとしてEU1580に
送出する。命令アーキテクチャbの命令Bについても同
様である。
【0159】図18に示すように、本例においては、異
なる命令アーキテクチャを持つ命令Aと命令Bをシミュ
レータ又はエミュレータ処理手順で処理を行なう際、情
報処理装置が基本的にサポートしているアーキテクチャ
の命令をIS1560内に10個格納しておけば良い。
なる命令アーキテクチャを持つ命令Aと命令Bをシミュ
レータ又はエミュレータ処理手順で処理を行なう際、情
報処理装置が基本的にサポートしているアーキテクチャ
の命令をIS1560内に10個格納しておけば良い。
【0160】以上、本発明の情報処理装置が、シミュレ
ータ又はエミュレータ処理手順で異なる命令アーキテク
チャを持つ命令の命令処理を行なう場合のシミュレータ
又はエミュレータ処理手順の命令のIS内での記述頻度
の具体例とシーケンスコードのプログラミング順序の一
実施例を説明した。
ータ又はエミュレータ処理手順で異なる命令アーキテク
チャを持つ命令の命令処理を行なう場合のシミュレータ
又はエミュレータ処理手順の命令のIS内での記述頻度
の具体例とシーケンスコードのプログラミング順序の一
実施例を説明した。
【0161】次に、IMU1570に入力されるパラメ
ータと出力されるパラメータ及びIMU1570内での
命令の修飾変換操作について説明する。
ータと出力されるパラメータ及びIMU1570内での
命令の修飾変換操作について説明する。
【0162】図15に示すように、IMU1570に入
力されるパラメータとしては、IU1510から信号線
15009を介して送られてくる、情報処理装置の基本
命令アーキテクチャとは異なる命令アーキテクチャを持
つ命令をシミュレーション又はエミュレーションするた
めの異なる命令アーキテクチャを持つ命令に関する命令
語データ、あるいは、情報処理装置の基本命令アーキテ
クチャと同じ命令アーキテクチャを持つ命令の場合のシ
ミュレーション又はエミュレーションする必要がない命
令に関する命令語データ、SS群1540から信号線1
5005を介して送られてくるシーケンスコードのうち
修飾パラメータフィールドの内容データ、更に、IS1
560から読み出され信号線15006を介して送られ
てくる情報処理装置が基本的にサポートしている命令ア
ーキテクチャの命令語データのパラメータ群がある。I
MU1570から出力されるパラメータとしては、IM
U1570に入力された情報処理装置の基本命令アーキ
テクチャと同じ命令アーキテクチャを持つ命令語を、実
際にIU群1510で解読し、EU1580で実行でき
るように、入力された命令語のデータを修飾そして変換
した結果の命令語データのパラメータがある。
力されるパラメータとしては、IU1510から信号線
15009を介して送られてくる、情報処理装置の基本
命令アーキテクチャとは異なる命令アーキテクチャを持
つ命令をシミュレーション又はエミュレーションするた
めの異なる命令アーキテクチャを持つ命令に関する命令
語データ、あるいは、情報処理装置の基本命令アーキテ
クチャと同じ命令アーキテクチャを持つ命令の場合のシ
ミュレーション又はエミュレーションする必要がない命
令に関する命令語データ、SS群1540から信号線1
5005を介して送られてくるシーケンスコードのうち
修飾パラメータフィールドの内容データ、更に、IS1
560から読み出され信号線15006を介して送られ
てくる情報処理装置が基本的にサポートしている命令ア
ーキテクチャの命令語データのパラメータ群がある。I
MU1570から出力されるパラメータとしては、IM
U1570に入力された情報処理装置の基本命令アーキ
テクチャと同じ命令アーキテクチャを持つ命令語を、実
際にIU群1510で解読し、EU1580で実行でき
るように、入力された命令語のデータを修飾そして変換
した結果の命令語データのパラメータがある。
【0163】まず、IU1510から送られてくる命令
語の種類は、前述の情報処理装置の基本命令アーキテク
チャとは異なる命令アーキテクチャを持つ命令語データ
そのものであり、前記のシミュレーション又はエミュレ
ーションが必要である。次に、IU1510から送られ
てくる命令語の種類は、情報処理装置の基本命令アーキ
テクチャと同じ命令アーキテクチャを持つ命令であっ
て、シミュレーション又はエミュレーションする必要が
なく、命令語データは、前述の情報処理装置の基本命令
アーキテクチャと同じ命令アーキテクチャを持つ命令語
データそのものである。シミュレーション又はエミュレ
ーションを行うために、IS1560から読み出された
命令語データは、、前述の情報処理装置の基本命令アー
キテクチャと同じ命令アーキテクチャを持つ命令語デー
タそのものである。
語の種類は、前述の情報処理装置の基本命令アーキテク
チャとは異なる命令アーキテクチャを持つ命令語データ
そのものであり、前記のシミュレーション又はエミュレ
ーションが必要である。次に、IU1510から送られ
てくる命令語の種類は、情報処理装置の基本命令アーキ
テクチャと同じ命令アーキテクチャを持つ命令であっ
て、シミュレーション又はエミュレーションする必要が
なく、命令語データは、前述の情報処理装置の基本命令
アーキテクチャと同じ命令アーキテクチャを持つ命令語
データそのものである。シミュレーション又はエミュレ
ーションを行うために、IS1560から読み出された
命令語データは、、前述の情報処理装置の基本命令アー
キテクチャと同じ命令アーキテクチャを持つ命令語デー
タそのものである。
【0164】SS群1540から送られてくるシーケン
スコードのうち修飾パラメータフィールドのデータは、
前述のIS1560から送られてくる命令語データを修
飾あるいは変換する際の入力データである。この入力デ
ータとは、IU1510から送られてくる異なる命令ア
ーキテクチャを持つ命令語データを、ビット単位に抽出
するパラメータとして使用され、以下に示す修飾パラメ
ータ群から構成される。
スコードのうち修飾パラメータフィールドのデータは、
前述のIS1560から送られてくる命令語データを修
飾あるいは変換する際の入力データである。この入力デ
ータとは、IU1510から送られてくる異なる命令ア
ーキテクチャを持つ命令語データを、ビット単位に抽出
するパラメータとして使用され、以下に示す修飾パラメ
ータ群から構成される。
【0165】即ち、異なる命令アーキテクチャを持つ命
令語データをソースオペランドとして、以下のパラメー
タが生成される。 修飾パラメータ1:抽出すべきビット位置を指定するパ
ラメータ。 修飾パラメータ2:抽出すべきビット幅を指定するパラ
メータ。 修飾パラメータ3:抽出すべきビット数を指定するパラ
メータ。 修飾パラメータ4:抽出したビットデータあるいはビッ
トデータ群に対する演算操作を指定するパラメータ。 修飾パラメータ5:演算操作後のビットデータあるいは
ビットデータ群の編集を指定するパラメータ。 修飾パラメータ6:編集操作後のビットデータを挿入す
べきビット位置を指定するパラメータ。 修飾パラメータ7:編集操作後のビットデータを挿入す
べきビット幅を指定するパラメータ。 修飾パラメータ8:編集操作後のビットデータを挿入す
べきビット数を指定するパラメータ。
令語データをソースオペランドとして、以下のパラメー
タが生成される。 修飾パラメータ1:抽出すべきビット位置を指定するパ
ラメータ。 修飾パラメータ2:抽出すべきビット幅を指定するパラ
メータ。 修飾パラメータ3:抽出すべきビット数を指定するパラ
メータ。 修飾パラメータ4:抽出したビットデータあるいはビッ
トデータ群に対する演算操作を指定するパラメータ。 修飾パラメータ5:演算操作後のビットデータあるいは
ビットデータ群の編集を指定するパラメータ。 修飾パラメータ6:編集操作後のビットデータを挿入す
べきビット位置を指定するパラメータ。 修飾パラメータ7:編集操作後のビットデータを挿入す
べきビット幅を指定するパラメータ。 修飾パラメータ8:編集操作後のビットデータを挿入す
べきビット数を指定するパラメータ。
【0166】更に、この入力データは、前述のIS15
60から送られる同一の命令アーキテクチャを持つ命令
語データを、ビット単位に抽出するパラメータとしても
使用され、以下に示す修飾パラメータ群から構成され
る。即ち、同一の命令アーキテクチャを持つ命令語デー
タをソースオペランドとして、以下のパラメータが生成
される。 修飾パラメータ11:抽出すべきビット位置を指定する
パラメータ。 修飾パラメータ12:抽出すべきビット幅を指定するパ
ラメータ。 修飾パラメータ13:抽出すべきビット数を指定するパ
ラメータ。 修飾パラメータ14:抽出したビットデータあるいはビ
ットデータ群に対する演算操作を指定するパラメータ。 修飾パラメータ15:演算操作後のビットデータに’
0’あるいは’1’の固定値の挿入を指定するパラメー
タ。 修飾パラメータ16:演算操作後のビットデータあるい
はビットデータ群の編集を指定するパラメータ。 修飾パラメータ17:編集操作後のビットデータを挿入
すべきビット位置を指定するパラメータ。 修飾パラメータ18:編集操作後のビットデータを挿入
すべきビット幅を指定するパラメータ。 修飾パラメータ19:編集操作後のビットデータを挿入
すべきビット数を指定するパラメータ。 IMU1570は、前記修飾パラメータ群を用いて、次
のような手順で命令の修飾変換操作を実行する。なお、
修飾変換操作手順を開始する前に、IU1510からの
異なる命令アーキテクチャを持つ命令に関する命令語デ
ータ、SS群1540からの修飾パラメータ及びIS1
560からの該情報処理装置が基本的にサポートしてい
る命令アーキテクチャの命令語データは、IMU157
0内に既に入力されているとする。
60から送られる同一の命令アーキテクチャを持つ命令
語データを、ビット単位に抽出するパラメータとしても
使用され、以下に示す修飾パラメータ群から構成され
る。即ち、同一の命令アーキテクチャを持つ命令語デー
タをソースオペランドとして、以下のパラメータが生成
される。 修飾パラメータ11:抽出すべきビット位置を指定する
パラメータ。 修飾パラメータ12:抽出すべきビット幅を指定するパ
ラメータ。 修飾パラメータ13:抽出すべきビット数を指定するパ
ラメータ。 修飾パラメータ14:抽出したビットデータあるいはビ
ットデータ群に対する演算操作を指定するパラメータ。 修飾パラメータ15:演算操作後のビットデータに’
0’あるいは’1’の固定値の挿入を指定するパラメー
タ。 修飾パラメータ16:演算操作後のビットデータあるい
はビットデータ群の編集を指定するパラメータ。 修飾パラメータ17:編集操作後のビットデータを挿入
すべきビット位置を指定するパラメータ。 修飾パラメータ18:編集操作後のビットデータを挿入
すべきビット幅を指定するパラメータ。 修飾パラメータ19:編集操作後のビットデータを挿入
すべきビット数を指定するパラメータ。 IMU1570は、前記修飾パラメータ群を用いて、次
のような手順で命令の修飾変換操作を実行する。なお、
修飾変換操作手順を開始する前に、IU1510からの
異なる命令アーキテクチャを持つ命令に関する命令語デ
ータ、SS群1540からの修飾パラメータ及びIS1
560からの該情報処理装置が基本的にサポートしてい
る命令アーキテクチャの命令語データは、IMU157
0内に既に入力されているとする。
【0167】ステップ1:修飾パラメータ1、修飾パラ
メータ2及び修飾パラメータ3の指定に基づき、IU1
510から入力された異なる命令アーキテクチャを持つ
命令に関する命令語のビットデータを抽出して、所定の
機能毎に定められている1つ又は複数のグループにグル
ープ化し、グループ化された1つ又は複数のデータをこ
のステップの出力とする。ステップ2:修飾パラメータ
4の指定に基づき、ステップ1の出力に対し、所定の演
算操作を施し、演算操作を施された1つ又は複数のデー
タをこのステップの出力とする。ステップ3:修飾パラ
メータ5の指定に基づき、ステップ2の出力に対し、所
定の編集操作を施し、この編集操作を施されたことによ
ってフォーマット変換された1つ又は複数のデータをこ
のステップの出力とする。ステップ4:修飾パラメータ
6、修飾パラメータ7及び修飾パラメータ8の指定に基
づき、ステップ3の出力に対し、所定の機能毎に定めら
れている1つ又は複数のグループに再度グループ化し、
グループ化された1つ又は複数のデータをこのステップ
の出力とする。ステップ5:修飾パラメータ11、修飾
パラメータ12及び修飾パラメータ13の指定に基づ
き、IS1560から入力された同一の命令アーキテク
チャを持つ命令語のビットデータを抽出して、所定の機
能毎に定められている1つ又は複数のグループにグルー
プ化し、グループ化された1つ又は複数のデータをこの
ステップの出力とする。ステップ6:修飾パラメータ1
4の指定に基づき、ステップ4の出力とステップ5の出
力を入力オペランドとし、所定の演算操作を施し、この
演算操作を施された1つ又は複数のデータをこのステッ
プの出力とする。ステップ7:修飾パラメータ15の指
定に基づき、ステップ6の出力に対し、必要であれば’
0’あるいは’1’の固定値の挿入する操作を施し、こ
の操作を施された1つ又は複数のデータをこのステップ
の出力とする。
メータ2及び修飾パラメータ3の指定に基づき、IU1
510から入力された異なる命令アーキテクチャを持つ
命令に関する命令語のビットデータを抽出して、所定の
機能毎に定められている1つ又は複数のグループにグル
ープ化し、グループ化された1つ又は複数のデータをこ
のステップの出力とする。ステップ2:修飾パラメータ
4の指定に基づき、ステップ1の出力に対し、所定の演
算操作を施し、演算操作を施された1つ又は複数のデー
タをこのステップの出力とする。ステップ3:修飾パラ
メータ5の指定に基づき、ステップ2の出力に対し、所
定の編集操作を施し、この編集操作を施されたことによ
ってフォーマット変換された1つ又は複数のデータをこ
のステップの出力とする。ステップ4:修飾パラメータ
6、修飾パラメータ7及び修飾パラメータ8の指定に基
づき、ステップ3の出力に対し、所定の機能毎に定めら
れている1つ又は複数のグループに再度グループ化し、
グループ化された1つ又は複数のデータをこのステップ
の出力とする。ステップ5:修飾パラメータ11、修飾
パラメータ12及び修飾パラメータ13の指定に基づ
き、IS1560から入力された同一の命令アーキテク
チャを持つ命令語のビットデータを抽出して、所定の機
能毎に定められている1つ又は複数のグループにグルー
プ化し、グループ化された1つ又は複数のデータをこの
ステップの出力とする。ステップ6:修飾パラメータ1
4の指定に基づき、ステップ4の出力とステップ5の出
力を入力オペランドとし、所定の演算操作を施し、この
演算操作を施された1つ又は複数のデータをこのステッ
プの出力とする。ステップ7:修飾パラメータ15の指
定に基づき、ステップ6の出力に対し、必要であれば’
0’あるいは’1’の固定値の挿入する操作を施し、こ
の操作を施された1つ又は複数のデータをこのステップ
の出力とする。
【0168】ステップ8:修飾パラメータ16の指定に
基づき、ステップ7の出力に対し、所定の編集操作を施
し、この編集操作を施されたことによってフォーマット
変換された1つ又は複数のデータをこのステップの出力
とする。 ステップ9:修飾パラメータ17、修飾パラメータ18
及び修飾パラメータ19の指定に基づき、ステップ8の
出力に対し、所定の機能毎に定められている1つ又は複
数のグループに再度グループ化し、グループ化された1
つ又は複数のデータをこのステップの出力とする。この
ステップ9の出力が、IMU1570によって修飾及び
変換された結果の命令語データであり、情報処理装置の
基本命令アーキテクチャと同じ命令アーキテクチャを持
つ命令語としてIU1510に送出される。
基づき、ステップ7の出力に対し、所定の編集操作を施
し、この編集操作を施されたことによってフォーマット
変換された1つ又は複数のデータをこのステップの出力
とする。 ステップ9:修飾パラメータ17、修飾パラメータ18
及び修飾パラメータ19の指定に基づき、ステップ8の
出力に対し、所定の機能毎に定められている1つ又は複
数のグループに再度グループ化し、グループ化された1
つ又は複数のデータをこのステップの出力とする。この
ステップ9の出力が、IMU1570によって修飾及び
変換された結果の命令語データであり、情報処理装置の
基本命令アーキテクチャと同じ命令アーキテクチャを持
つ命令語としてIU1510に送出される。
【0169】次に、本発明の情報処理装置を半導体チッ
プ中に実装する場合の種々の実施例を図19乃至図25
に示す。
プ中に実装する場合の種々の実施例を図19乃至図25
に示す。
【0170】図19は、図1に示した本発明のマイクロ
コ−ド制御で命令処理を行なう情報処理装置を半導体チ
ップ中に実装する第1の実施例を示すブロック図であ
る。図19において、IU110は、図7に示したよう
に命令レジスタ(IR)と命令解読器(IDEC)及び
セットアップデ−タ生成器(DS)などを内蔵している
が、これらを同一半導体チップ中に実装する。これを図
19では区画19−0で示す。また、論理回路からなる
SSAR群120と記憶回路素子からなるSS群140
及び論理回路からなるCSAR150とアドレス加算器
130を同一半導体チップ中に実装する。これを図19
では区画19−1で示す。同様に、記憶回路素子からな
るCS160と論理回路からなるCSDR170を同一
半導体チップ中に実装する。これを図19では区画19
−2で示す。
コ−ド制御で命令処理を行なう情報処理装置を半導体チ
ップ中に実装する第1の実施例を示すブロック図であ
る。図19において、IU110は、図7に示したよう
に命令レジスタ(IR)と命令解読器(IDEC)及び
セットアップデ−タ生成器(DS)などを内蔵している
が、これらを同一半導体チップ中に実装する。これを図
19では区画19−0で示す。また、論理回路からなる
SSAR群120と記憶回路素子からなるSS群140
及び論理回路からなるCSAR150とアドレス加算器
130を同一半導体チップ中に実装する。これを図19
では区画19−1で示す。同様に、記憶回路素子からな
るCS160と論理回路からなるCSDR170を同一
半導体チップ中に実装する。これを図19では区画19
−2で示す。
【0171】この様に実装することで、図19の区画1
9−0と区画19−1及び区画19−2の内部で閉じる
信号線に対する入出力端子を駆動する駆動回路を除去で
き、その結果、チップ内相互の信号伝送遅れを低減でき
る。更に、入出力端子を駆動する駆動回路を前記19−
0,19−1及び19−2の3つの区画を接続する信号
線にのみ付加すればよいので、情報処理装置の消費電力
を低減出来る。更に、入出力端子を経由しないことによ
り、物理的な入出力端子の数で制限されていた信号線の
数の制限を除去することが出来ると共に情報処理装置を
構成しているそれぞれの機能ブロックのグルーピングを
信号線が少なくなる様に区画を決定することにより、駆
動回路を必要とする入出力端子を経由する信号線の数を
容易に低減できる。
9−0と区画19−1及び区画19−2の内部で閉じる
信号線に対する入出力端子を駆動する駆動回路を除去で
き、その結果、チップ内相互の信号伝送遅れを低減でき
る。更に、入出力端子を駆動する駆動回路を前記19−
0,19−1及び19−2の3つの区画を接続する信号
線にのみ付加すればよいので、情報処理装置の消費電力
を低減出来る。更に、入出力端子を経由しないことによ
り、物理的な入出力端子の数で制限されていた信号線の
数の制限を除去することが出来ると共に情報処理装置を
構成しているそれぞれの機能ブロックのグルーピングを
信号線が少なくなる様に区画を決定することにより、駆
動回路を必要とする入出力端子を経由する信号線の数を
容易に低減できる。
【0172】図20は、図1に示した本発明のマイクロ
コード制御で命令処理を行なう情報処理装置を半導体チ
ップ中に実装する第2の実施例を示すブロック図であ
る。図20においては、論理回路と記憶回路素子からな
るIU110、論理回路からなるSSAR群120、記
憶回路素子からなるSS群140、論理回路からなるC
SAR150とアドレス加算器130、記憶回路素子か
らなるCS160と論理回路からなるCSDR170の
すべてを、同一半導体チップ中に実装する。これを図2
0では区画20−1で示す。
コード制御で命令処理を行なう情報処理装置を半導体チ
ップ中に実装する第2の実施例を示すブロック図であ
る。図20においては、論理回路と記憶回路素子からな
るIU110、論理回路からなるSSAR群120、記
憶回路素子からなるSS群140、論理回路からなるC
SAR150とアドレス加算器130、記憶回路素子か
らなるCS160と論理回路からなるCSDR170の
すべてを、同一半導体チップ中に実装する。これを図2
0では区画20−1で示す。
【0173】この様に実装することで、前記7つの機能
ブロック間をの相互に接続する信号線を広いデータ幅を
維持したまま結線出来、図20の区画20−1の内部で
閉じる信号線に対する入出力端子を駆動する駆動回路を
除去でき、その結果チップ内相互の信号伝送遅れを低減
できる。更に入出力端子を駆動する駆動回路をEU13
0を接続する信号線にのみ付加することで、情報処理装
置の消費電力を低減出来る。更に、入出力端子を経由し
ないことにより、物理的な入出力端子の数で制限されて
いた信号線の数の制限を除去することが出来ると共に情
報処理装置を構成しているそれぞれの機能ブロックのグ
ルーピングを信号線が少なくなる様に区画を決定するこ
とにより、駆動回路を必要とする入出力端子を経由する
信号線の数を容易に低減できる。
ブロック間をの相互に接続する信号線を広いデータ幅を
維持したまま結線出来、図20の区画20−1の内部で
閉じる信号線に対する入出力端子を駆動する駆動回路を
除去でき、その結果チップ内相互の信号伝送遅れを低減
できる。更に入出力端子を駆動する駆動回路をEU13
0を接続する信号線にのみ付加することで、情報処理装
置の消費電力を低減出来る。更に、入出力端子を経由し
ないことにより、物理的な入出力端子の数で制限されて
いた信号線の数の制限を除去することが出来ると共に情
報処理装置を構成しているそれぞれの機能ブロックのグ
ルーピングを信号線が少なくなる様に区画を決定するこ
とにより、駆動回路を必要とする入出力端子を経由する
信号線の数を容易に低減できる。
【0174】図21は、図1に示した本発明のマイクロ
コード制御で命令処理を行なう情報処理装置を半導体チ
ップ中に実装する第3の実施例を示すブロック図であ
る。図21において、論理回路と記憶回路素子からなる
IU110、論理回路からなるSSAR群120、記憶
回路素子からなるSS群140、論理回路からなるCS
AR150とアドレス加算器130を同一半導体チップ
中に実装する。これを図21では区画21−1で示す。
同様に、記憶回路素子からなるCS160と論理回路か
らなるCSDR170を同一半導体チップ中に実装す
る。これを図21では区画21−2で示す。
コード制御で命令処理を行なう情報処理装置を半導体チ
ップ中に実装する第3の実施例を示すブロック図であ
る。図21において、論理回路と記憶回路素子からなる
IU110、論理回路からなるSSAR群120、記憶
回路素子からなるSS群140、論理回路からなるCS
AR150とアドレス加算器130を同一半導体チップ
中に実装する。これを図21では区画21−1で示す。
同様に、記憶回路素子からなるCS160と論理回路か
らなるCSDR170を同一半導体チップ中に実装す
る。これを図21では区画21−2で示す。
【0175】この様に実装することで、図19の場合の
区画21−1及び区画21−2の内部で閉じる信号線に
対する入出力端子を駆動する駆動回路を除去でき、その
結果チップ内相互の信号伝送遅れを低減できる。更に入
出力端子を駆動する駆動回路を前記の2つの区画を接続
する信号線にのみ付加すればよいので、情報処理装置の
消費電力を低減出来る。更に、入出力端子を経由しない
ことにより、物理的な入出力端子の数で制限されていた
信号線の数の制限を除去することが出来ると共に情報処
理装置を構成しているそれぞれの機能ブロックのグルー
ピングを信号線が少なくなる様に区画を決定することに
より、駆動回路を必要とする入出力端子を経由する信号
線の数を容易に低減できる。
区画21−1及び区画21−2の内部で閉じる信号線に
対する入出力端子を駆動する駆動回路を除去でき、その
結果チップ内相互の信号伝送遅れを低減できる。更に入
出力端子を駆動する駆動回路を前記の2つの区画を接続
する信号線にのみ付加すればよいので、情報処理装置の
消費電力を低減出来る。更に、入出力端子を経由しない
ことにより、物理的な入出力端子の数で制限されていた
信号線の数の制限を除去することが出来ると共に情報処
理装置を構成しているそれぞれの機能ブロックのグルー
ピングを信号線が少なくなる様に区画を決定することに
より、駆動回路を必要とする入出力端子を経由する信号
線の数を容易に低減できる。
【0176】図22は、図15に示した本発明のシミュ
レータ又はエミュレータ制御で異なる命令アーキテクチ
ャを持つ命令の命令処理をハードウェアロジック制御で
行なう情報処理装置を半導体チップ中に実装する第1の
実施例を示すブロック図である。図22において、命令
レジスタ(IR)および命令解読器の論理回路とデータ
生成群(DS群)の記憶回路素子からなるIU151
0、論理回路からなるSSAR群1520、記憶回路素
子からなるSS群1540、論理回路からなるIS15
60とアドレス加算器1530とIMU1570を同一
半導体チップ中に実装する。これを図22では区画22
−1で示す。同様に、記憶回路素子からなるレジスタフ
ァイル群1590と論理回路からなるEU1580を同
一半導体チップ中に実装する。これを図22では区画2
2−2示す。
レータ又はエミュレータ制御で異なる命令アーキテクチ
ャを持つ命令の命令処理をハードウェアロジック制御で
行なう情報処理装置を半導体チップ中に実装する第1の
実施例を示すブロック図である。図22において、命令
レジスタ(IR)および命令解読器の論理回路とデータ
生成群(DS群)の記憶回路素子からなるIU151
0、論理回路からなるSSAR群1520、記憶回路素
子からなるSS群1540、論理回路からなるIS15
60とアドレス加算器1530とIMU1570を同一
半導体チップ中に実装する。これを図22では区画22
−1で示す。同様に、記憶回路素子からなるレジスタフ
ァイル群1590と論理回路からなるEU1580を同
一半導体チップ中に実装する。これを図22では区画2
2−2示す。
【0177】この様に実装することで、図22の区画2
2−1及び区画22−2の内部で閉じる信号線に対する
入出力端子を駆動する駆動回路を除去でき、その結果チ
ップ内相互の信号伝送遅れを低減できる。更に入出力端
子を駆動する駆動回路を前記22−1と22−2の2つ
の区画を接続する信号線にのみ付加すればよいので、情
報処理装置の消費電力を低減出来る。更に、入出力端子
を経由しないことにより、物理的な入出力端子の数で制
限されていた信号線の数の制限を除去することが出来る
と共に情報処理装置を構成しているそれぞれの機能ブロ
ックのグルーピングを信号線が少なくなる様に区画を決
定することにより、駆動回路を必要とする入出力端子を
経由する信号線の数を容易に低減できる。
2−1及び区画22−2の内部で閉じる信号線に対する
入出力端子を駆動する駆動回路を除去でき、その結果チ
ップ内相互の信号伝送遅れを低減できる。更に入出力端
子を駆動する駆動回路を前記22−1と22−2の2つ
の区画を接続する信号線にのみ付加すればよいので、情
報処理装置の消費電力を低減出来る。更に、入出力端子
を経由しないことにより、物理的な入出力端子の数で制
限されていた信号線の数の制限を除去することが出来る
と共に情報処理装置を構成しているそれぞれの機能ブロ
ックのグルーピングを信号線が少なくなる様に区画を決
定することにより、駆動回路を必要とする入出力端子を
経由する信号線の数を容易に低減できる。
【0178】図23は、本発明のシミュレータ又はエミ
ュレータ制御で異なる命令アーキテクチャを持つ命令の
命令処理をハードウェアロジック制御行なう情報処理装
置を半導体チップ中に実装する第2の実施例を示すブロ
ック図で、これは、特に図16に示した構成を半導体チ
ップ化する一実施例を示したものである。図23におい
て、論理回路からなるIR1511とIDEC1512
を同一半導体チップ中に実装する。これを図23では区
画23−1で示す。更に、記憶回路素子からなるDS
(0)1513−0とSS(0)1540−0及び論理
回路からなるSSAR(0)1520−0を同一半導体
チップ中に実装する。これを図23では区画23−2で
示す。同様に、記憶回路素子からなるDS(1)151
3−1とSS(1)1540−1及び論理回路からなる
SSAR(1)1520−1を同一半導体チップ中に実
装し(図23の区画23−3)、以下同様にして、記憶
回路素子からなるDS(n)1513−nとSS(n)
1540−n及び論理回路からなるSSAR(n)15
20−nを同一半導体チップ中に実装する(図23の区
画23−4)。
ュレータ制御で異なる命令アーキテクチャを持つ命令の
命令処理をハードウェアロジック制御行なう情報処理装
置を半導体チップ中に実装する第2の実施例を示すブロ
ック図で、これは、特に図16に示した構成を半導体チ
ップ化する一実施例を示したものである。図23におい
て、論理回路からなるIR1511とIDEC1512
を同一半導体チップ中に実装する。これを図23では区
画23−1で示す。更に、記憶回路素子からなるDS
(0)1513−0とSS(0)1540−0及び論理
回路からなるSSAR(0)1520−0を同一半導体
チップ中に実装する。これを図23では区画23−2で
示す。同様に、記憶回路素子からなるDS(1)151
3−1とSS(1)1540−1及び論理回路からなる
SSAR(1)1520−1を同一半導体チップ中に実
装し(図23の区画23−3)、以下同様にして、記憶
回路素子からなるDS(n)1513−nとSS(n)
1540−n及び論理回路からなるSSAR(n)15
20−nを同一半導体チップ中に実装する(図23の区
画23−4)。
【0179】この様に実装することで、図23において
は、区画23−1、区画23−2、区画23−3及び区
画23−4の内部で閉じる信号線に対する入出力端子を
駆動する駆動回路を除去でき、その結果チップ内相互の
信号伝送遅れを低減できる。更に入出力端子を駆動する
駆動回路を前記の2つの区画を接続する信号線にのみ付
加すればよいので、情報処理装置の消費電力を低減出来
る。更に、入出力端子を経由しないことにより、物理的
な入出力端子の数で制限されていた信号線の数の制限を
除去することが出来ると共に情報処理装置を構成してい
るそれぞれの機能ブロックのグルーピングを信号線が少
なくなる様に区画を決定することにより、駆動回路を必
要とする入出力端子を経由する信号線の数を容易に低減
できる。
は、区画23−1、区画23−2、区画23−3及び区
画23−4の内部で閉じる信号線に対する入出力端子を
駆動する駆動回路を除去でき、その結果チップ内相互の
信号伝送遅れを低減できる。更に入出力端子を駆動する
駆動回路を前記の2つの区画を接続する信号線にのみ付
加すればよいので、情報処理装置の消費電力を低減出来
る。更に、入出力端子を経由しないことにより、物理的
な入出力端子の数で制限されていた信号線の数の制限を
除去することが出来ると共に情報処理装置を構成してい
るそれぞれの機能ブロックのグルーピングを信号線が少
なくなる様に区画を決定することにより、駆動回路を必
要とする入出力端子を経由する信号線の数を容易に低減
できる。
【0180】図24は、本発明のシミュレータ又はエミ
ュレータ制御で異なる命令アーキテクチャを持つ命令の
命令処理をハードウェアロジック制御で行なう情報処理
装置を半導体チップ中に実装する第3の実施例のブロッ
ク図で、図23と同様に、特に図16に示した構成を半
導体チップ化する他の実施例を示す。図24において
は、論理回路からなるIR1511とIDEC1512
を同一半導体チップ中に実装する(図24の区画24−
1)。同様に、記憶回路素子からなるDS(0)151
3−0とDS(1)1513−1及びDS(n)151
3−n及び論理回路からなるSSAR(0)1650−
0とSSAR(1)1650−1とSSAR(n)16
50−nを同一半導体チップ中に実装する(図24の区
画24−2)。同様に、記憶回路素子からなるSS
(0)1540−0とSS(1)1540−1及びSS
(n)1540−nを同一半導体チップ中に実装する
(図24の区画24−3)。
ュレータ制御で異なる命令アーキテクチャを持つ命令の
命令処理をハードウェアロジック制御で行なう情報処理
装置を半導体チップ中に実装する第3の実施例のブロッ
ク図で、図23と同様に、特に図16に示した構成を半
導体チップ化する他の実施例を示す。図24において
は、論理回路からなるIR1511とIDEC1512
を同一半導体チップ中に実装する(図24の区画24−
1)。同様に、記憶回路素子からなるDS(0)151
3−0とDS(1)1513−1及びDS(n)151
3−n及び論理回路からなるSSAR(0)1650−
0とSSAR(1)1650−1とSSAR(n)16
50−nを同一半導体チップ中に実装する(図24の区
画24−2)。同様に、記憶回路素子からなるSS
(0)1540−0とSS(1)1540−1及びSS
(n)1540−nを同一半導体チップ中に実装する
(図24の区画24−3)。
【0181】この様に実装することで、図24において
は、区画24−1、区画24−2及び区画24−3の内
部で閉じる信号線に対する入出力端子を駆動する駆動回
路を除去でき、その結果チップ内相互の信号伝送遅れを
低減できる。更に入出力端子を駆動する駆動回路を前記
の2つの区画を接続する信号線にのみ付加すればよいの
で、情報処理装置の消費電力を低減出来る。更に、入出
力端子を経由しないことにより、物理的な入出力端子の
数で制限されていた信号線の数の制限を除去することが
出来ると共に情報処理装置を構成しているそれぞれの機
能ブロックのグルーピングを信号線が少なくなる様に区
画を決定することにより、駆動回路を必要とする入出力
端子を経由する信号線の数を容易に低減できる。
は、区画24−1、区画24−2及び区画24−3の内
部で閉じる信号線に対する入出力端子を駆動する駆動回
路を除去でき、その結果チップ内相互の信号伝送遅れを
低減できる。更に入出力端子を駆動する駆動回路を前記
の2つの区画を接続する信号線にのみ付加すればよいの
で、情報処理装置の消費電力を低減出来る。更に、入出
力端子を経由しないことにより、物理的な入出力端子の
数で制限されていた信号線の数の制限を除去することが
出来ると共に情報処理装置を構成しているそれぞれの機
能ブロックのグルーピングを信号線が少なくなる様に区
画を決定することにより、駆動回路を必要とする入出力
端子を経由する信号線の数を容易に低減できる。
【0182】図25は、本発明のシミュレータ又はエミ
ュレータ制御で異なる命令アーキテクチャを持つ命令の
命令処理をハードウェアロジック制御で行なう情報処理
装置を半導体チップ中に実装する第4図の実施例のブロ
ック図で、図23及び図24と同様に、図16に示した
構成を半導体チップ化更にする更に他の実施例を示す。
図25において、論理回路からなるIR1511とID
EC1512を同一半導体チップ中に実装する(図25
の区画25−1)。同様に、記憶回路素子からなるIA
MR1600、DS(0)1513−0とDS(1)1
513−1及びDS(n)1513−nを同一半導体チ
ップ中に実装する(図25の区画25−2)。同様に、
論理回路からなるSSAR(0)1520−0とSSA
R(1)1520−1とSSAR(n)1520−n及
び記憶回路素子からなるSS(0)1540−0とSS
(1)1540−1及びSS(n)1540−nを同一
半導体チップ中に実装する(図25の区画25−3)。
ュレータ制御で異なる命令アーキテクチャを持つ命令の
命令処理をハードウェアロジック制御で行なう情報処理
装置を半導体チップ中に実装する第4図の実施例のブロ
ック図で、図23及び図24と同様に、図16に示した
構成を半導体チップ化更にする更に他の実施例を示す。
図25において、論理回路からなるIR1511とID
EC1512を同一半導体チップ中に実装する(図25
の区画25−1)。同様に、記憶回路素子からなるIA
MR1600、DS(0)1513−0とDS(1)1
513−1及びDS(n)1513−nを同一半導体チ
ップ中に実装する(図25の区画25−2)。同様に、
論理回路からなるSSAR(0)1520−0とSSA
R(1)1520−1とSSAR(n)1520−n及
び記憶回路素子からなるSS(0)1540−0とSS
(1)1540−1及びSS(n)1540−nを同一
半導体チップ中に実装する(図25の区画25−3)。
【0183】この様に実装することで、図25において
は、区画25−1、区画25−2及び区画25−3の内
部で閉じる信号線に対する入出力端子を駆動する駆動回
路を除去でき、その結果チップ内相互の信号伝送遅れを
低減できる。更に入出力端子を駆動する駆動回路を前記
の2つの区画を接続する信号線にのみ付加すればよいの
で、情報処理装置の消費電力を低減出来る。更に、入出
力端子を経由しないことにより、物理的な入出力端子の
数で制限されていた信号線の数の制限を除去することが
出来ると共に情報処理装置を構成しているそれぞれの機
能ブロックのグルーピングを信号線が少なくなる様に区
画を決定することにより、駆動回路を必要とする入出力
端子を経由する信号線の数を容易に低減できる。
は、区画25−1、区画25−2及び区画25−3の内
部で閉じる信号線に対する入出力端子を駆動する駆動回
路を除去でき、その結果チップ内相互の信号伝送遅れを
低減できる。更に入出力端子を駆動する駆動回路を前記
の2つの区画を接続する信号線にのみ付加すればよいの
で、情報処理装置の消費電力を低減出来る。更に、入出
力端子を経由しないことにより、物理的な入出力端子の
数で制限されていた信号線の数の制限を除去することが
出来ると共に情報処理装置を構成しているそれぞれの機
能ブロックのグルーピングを信号線が少なくなる様に区
画を決定することにより、駆動回路を必要とする入出力
端子を経由する信号線の数を容易に低減できる。
【0184】なお、図19乃至図21の実施例において
は、命令制御ユニット(IU)と実行ユニット(EU)
と命令アーキテクチャモードレジスタ(IAMR)は、
演算及び制御を司る電子回路として電磁波又は磁気又は
電子もしくは電磁波又は磁気又は電子のそれぞれの組み
合わせによる加工と化学的処理の組み合わせによる加工
で半導体チップ中に実装し、制御記憶(CS)とシーケ
ンス記憶(SS)は、データの記憶を司る為に誘電体の
特性を使用した記憶素子又は電子回路の結線を使用した
記憶素子として電磁波又は磁気又は電子もしくは電磁波
又は磁気又は電子の組み合わせによる加工と科学的処理
の組み合わせによる加工で半導体チップ中に実装し、セ
ットアップデータ生成部(DS)は、前記演算及び制御
を司る電子回路とデータの記憶を司る為に誘電体の特性
を使用した記憶素子又は電子回路の結線を使用した記憶
素子の双方に用いられる加工で半導体チップ中に実装す
ればよい。
は、命令制御ユニット(IU)と実行ユニット(EU)
と命令アーキテクチャモードレジスタ(IAMR)は、
演算及び制御を司る電子回路として電磁波又は磁気又は
電子もしくは電磁波又は磁気又は電子のそれぞれの組み
合わせによる加工と化学的処理の組み合わせによる加工
で半導体チップ中に実装し、制御記憶(CS)とシーケ
ンス記憶(SS)は、データの記憶を司る為に誘電体の
特性を使用した記憶素子又は電子回路の結線を使用した
記憶素子として電磁波又は磁気又は電子もしくは電磁波
又は磁気又は電子の組み合わせによる加工と科学的処理
の組み合わせによる加工で半導体チップ中に実装し、セ
ットアップデータ生成部(DS)は、前記演算及び制御
を司る電子回路とデータの記憶を司る為に誘電体の特性
を使用した記憶素子又は電子回路の結線を使用した記憶
素子の双方に用いられる加工で半導体チップ中に実装す
ればよい。
【0185】また、図22乃至図25の実施例において
は、同様に、命令制御ユニット(IU)の命令読出部と
命令バッファレジスタと命令解読部と実行ユニット(E
U)と命令アーキテクチャモードレジスタ(IAMR)
と命令修飾ユニットは、演算及び制御を司る電子回路と
して電磁波又は磁気又は電子もしくは電磁波又は磁気又
は電子のそれぞれの組み合わせによる加工と化学的処理
の組み合わせによる加工で半導体チップ中に実装し、命
令記憶(IS)とシーケンス記憶(SS)は、データの
記憶を司る為に誘電体の特性を使用した記憶素子又は電
子回路の結線を使用した記憶素子として電磁波又は磁気
又は電子もしくは電磁波又は磁気又は電子の組み合わせ
による加工と科学的処理の組み合わせによる加工で半導
体チップ中に実装し、セットアップデータ生成部(D
S)は、演算及び制御を司る電子回路とデータの記憶を
司る為に誘電体の特性を使用した記憶素子又は電子回路
の結線を使用した記憶素子の双方に用いられる加工で半
導体チップ中に実装すればよい。
は、同様に、命令制御ユニット(IU)の命令読出部と
命令バッファレジスタと命令解読部と実行ユニット(E
U)と命令アーキテクチャモードレジスタ(IAMR)
と命令修飾ユニットは、演算及び制御を司る電子回路と
して電磁波又は磁気又は電子もしくは電磁波又は磁気又
は電子のそれぞれの組み合わせによる加工と化学的処理
の組み合わせによる加工で半導体チップ中に実装し、命
令記憶(IS)とシーケンス記憶(SS)は、データの
記憶を司る為に誘電体の特性を使用した記憶素子又は電
子回路の結線を使用した記憶素子として電磁波又は磁気
又は電子もしくは電磁波又は磁気又は電子の組み合わせ
による加工と科学的処理の組み合わせによる加工で半導
体チップ中に実装し、セットアップデータ生成部(D
S)は、演算及び制御を司る電子回路とデータの記憶を
司る為に誘電体の特性を使用した記憶素子又は電子回路
の結線を使用した記憶素子の双方に用いられる加工で半
導体チップ中に実装すればよい。
【0186】
【発明の効果】本発明によるマイクロコード制御で命令
処理を行う情報処理装置においては、命令アーキテクチ
ャモードレジスタの命令アーキテクチャモードを変える
ことにより、同一の命令コードを持つ命令に対して、異
なる動作仕様を持つ命令処理を実行せしめることを可能
になる。
処理を行う情報処理装置においては、命令アーキテクチ
ャモードレジスタの命令アーキテクチャモードを変える
ことにより、同一の命令コードを持つ命令に対して、異
なる動作仕様を持つ命令処理を実行せしめることを可能
になる。
【0187】また、制御記憶(CS)に着目した場合、
それぞれのシーケンス記憶(SS)に、マイクロコード
処理手順としてのマイクロ命令アドレスの組合せとその
実行順序をシーケンスコード列として格納することによ
り、情報処理装置の機械語レベルの命令機能を実現する
為に複数のマイクロ命令の複数の機能を組み合わせてマ
イクロコードを組み込む時、同一マイクロ命令を異なる
CSアドレス上に複数個格納しておく必要性を無くすこ
とが可能となる。その結果、マイクロコードで命令処理
を実現している情報処理装置のハードウェアの命令処理
性能を大幅に向上出来る。また、複数の命令アーキテク
チャをサポートするマイクロコード制御マルチ命令アー
キテクチャプロセッサが容易に実現可能となる。
それぞれのシーケンス記憶(SS)に、マイクロコード
処理手順としてのマイクロ命令アドレスの組合せとその
実行順序をシーケンスコード列として格納することによ
り、情報処理装置の機械語レベルの命令機能を実現する
為に複数のマイクロ命令の複数の機能を組み合わせてマ
イクロコードを組み込む時、同一マイクロ命令を異なる
CSアドレス上に複数個格納しておく必要性を無くすこ
とが可能となる。その結果、マイクロコードで命令処理
を実現している情報処理装置のハードウェアの命令処理
性能を大幅に向上出来る。また、複数の命令アーキテク
チャをサポートするマイクロコード制御マルチ命令アー
キテクチャプロセッサが容易に実現可能となる。
【0188】更に、マイクロ命令の種類数に比較して極
めて多い数のマイクロ命令をCS内に格納しておく必要
が無くなり、集積回路内の物理的なCS論理回路サイズ
を縮小出来る。この集積回路内の物理的なCSのサイズ
の縮小は、マイクロコードで命令処理を実現している情
報処理装置のハードウェアによるCSに対するアクセス
時間の短縮につながり、マイクロコード制御で命令処理
を行なう情報処理装置の性能を大幅に向上出来ると共
に、前記の集積回路内の物理的なCS論理回路サイズの
縮小は、マイクロコードで命令処理を実現している情報
処理装置を構成する最も重要な部品である大規模集積回
路のチップ面積の縮小につながり、これは情報処理装置
の製造コストを大幅に減少させるという工業製品を製造
する上での工業的効果が存在し、そして工業的コストを
抑えたマルチ命令アーキテクチャプロセッサを提供する
ことが出来る。
めて多い数のマイクロ命令をCS内に格納しておく必要
が無くなり、集積回路内の物理的なCS論理回路サイズ
を縮小出来る。この集積回路内の物理的なCSのサイズ
の縮小は、マイクロコードで命令処理を実現している情
報処理装置のハードウェアによるCSに対するアクセス
時間の短縮につながり、マイクロコード制御で命令処理
を行なう情報処理装置の性能を大幅に向上出来ると共
に、前記の集積回路内の物理的なCS論理回路サイズの
縮小は、マイクロコードで命令処理を実現している情報
処理装置を構成する最も重要な部品である大規模集積回
路のチップ面積の縮小につながり、これは情報処理装置
の製造コストを大幅に減少させるという工業製品を製造
する上での工業的効果が存在し、そして工業的コストを
抑えたマルチ命令アーキテクチャプロセッサを提供する
ことが出来る。
【0189】また、本発明によるハードウェアロジック
制御で命令処理を行う情報処理装置においては、同様
に、命令アーキテクチャモードレジスタの命令アーキテ
クチャモードを変えることにより、同一の命令コードを
持つ命令に対して、異なる動作仕様を持つ命令処理を実
行せしめることを可能にする。
制御で命令処理を行う情報処理装置においては、同様
に、命令アーキテクチャモードレジスタの命令アーキテ
クチャモードを変えることにより、同一の命令コードを
持つ命令に対して、異なる動作仕様を持つ命令処理を実
行せしめることを可能にする。
【0190】また、命令記憶(IS)に着目した場合、
それぞれのシーケンス記憶(SS)に、第2の命令アー
キテクチャを持つ命令の処理手順としての第1の命令ア
ーキテクチャ(情報処理装置が基本的にサポートしてい
る命令アーキテクチャ)を持つ命令アドレスの組合せと
その実行順序をシーケンスコード列として格納すること
により、情報処理装置の機械語レベルの命令機能を実現
する為に複数の第1の命令アーキテクチャを持つ命令の
複数の機能を組み合わせて第2の命令アーキテクチャを
持つ命令を組み込む時、同一の第1の命令アーキテクチ
ャを持つ命令を命令記憶の異なる記憶アドレス上に複数
個格納しておく必要性を無くすことが可能となる。その
結果、第1の命令アーキテクチャを持つ命令の組み合わ
せで第2の命令アーキテクチャを持つ命令の命令処理を
実現している情報処理装置のハードウェアの命令処理性
能を大幅に向上出来る。また、複数の命令アーキテクチ
ャをサポートするハードウェアロジック制御のマルチ命
令アーキテクチャプロセッサが容易に実現可能となる。
それぞれのシーケンス記憶(SS)に、第2の命令アー
キテクチャを持つ命令の処理手順としての第1の命令ア
ーキテクチャ(情報処理装置が基本的にサポートしてい
る命令アーキテクチャ)を持つ命令アドレスの組合せと
その実行順序をシーケンスコード列として格納すること
により、情報処理装置の機械語レベルの命令機能を実現
する為に複数の第1の命令アーキテクチャを持つ命令の
複数の機能を組み合わせて第2の命令アーキテクチャを
持つ命令を組み込む時、同一の第1の命令アーキテクチ
ャを持つ命令を命令記憶の異なる記憶アドレス上に複数
個格納しておく必要性を無くすことが可能となる。その
結果、第1の命令アーキテクチャを持つ命令の組み合わ
せで第2の命令アーキテクチャを持つ命令の命令処理を
実現している情報処理装置のハードウェアの命令処理性
能を大幅に向上出来る。また、複数の命令アーキテクチ
ャをサポートするハードウェアロジック制御のマルチ命
令アーキテクチャプロセッサが容易に実現可能となる。
【0191】更に、第1の命令アーキテクチャを持つ命
令の種類数に比較して極めて多い数の第1の命令アーキ
テクチャを持つ命令を命令記憶内に格納しておく必要が
無くなり、集積回路内の物理的な命令記憶回路サイズを
縮小出来る。この集積回路内の物理的な命令記憶のサイ
ズの縮小は、第1の命令アーキテクチャを持つ命令の組
み合わせで第2の命令アーキテクチャを持つ命令の命令
処理を実現している情報処理装置のハードウェアによる
命令記憶に対するアクセス時間の短縮につながり、ハー
ドウェアロジック制御で命令処理を行なう情報処理装置
の性能を大幅に向上出来ると共に、前記の集積回路内の
物理的な命令記憶回路サイズの縮小は、第1の命令アー
キテクチャを持つ命令の組み合わせで第2の命令アーキ
テクチャを持つ命令の命令処理を実現している情報処理
装置を構成する最も重要な部品である大規模集積回路の
チップ面積の縮小につながり、これは情報処理装置の製
造コストを大幅に減少させるという工業製品を製造する
上での工業的効果が存在し、そして工業的コストを抑え
たマルチ命令アーキテクチャプロセッサを提供すること
が出来る。
令の種類数に比較して極めて多い数の第1の命令アーキ
テクチャを持つ命令を命令記憶内に格納しておく必要が
無くなり、集積回路内の物理的な命令記憶回路サイズを
縮小出来る。この集積回路内の物理的な命令記憶のサイ
ズの縮小は、第1の命令アーキテクチャを持つ命令の組
み合わせで第2の命令アーキテクチャを持つ命令の命令
処理を実現している情報処理装置のハードウェアによる
命令記憶に対するアクセス時間の短縮につながり、ハー
ドウェアロジック制御で命令処理を行なう情報処理装置
の性能を大幅に向上出来ると共に、前記の集積回路内の
物理的な命令記憶回路サイズの縮小は、第1の命令アー
キテクチャを持つ命令の組み合わせで第2の命令アーキ
テクチャを持つ命令の命令処理を実現している情報処理
装置を構成する最も重要な部品である大規模集積回路の
チップ面積の縮小につながり、これは情報処理装置の製
造コストを大幅に減少させるという工業製品を製造する
上での工業的効果が存在し、そして工業的コストを抑え
たマルチ命令アーキテクチャプロセッサを提供すること
が出来る。
【0192】更に、前記命令制御ユニットと実行ユニッ
トと命令アーキテクチャモードレジスタそしてハードウ
ェアロジック制御で第1の命令アーキテクチャを持つ命
令処理を行う情報処理装置における命令修飾変換ユニッ
トは、演算及び制御を司る電子的な論理回路として半導
体チップ中に実装し、前記制御記憶そして命令記憶とシ
ーケンス記憶は、データの記憶を司る電子的な記憶素子
又は電子回路の結線を使用した記憶素子として前述の電
子的な論理回路と同一の半導体チップ中に実装し、前記
セットアップデータ生成部は、前記演算及び制御を司る
電子回路とデータの記憶を司る記憶素子又は電子回路の
結線を使用した記憶素子を同一の半導体チップ中に実装
し、命令制御ユニットと実行ユニットと命令アーキテク
チャモードレジスタと制御記憶そして命令記憶とシーケ
ンス記憶及びセットアップデータ生成部を同一の半導体
チップ中に実装する事で、記憶素子チップと論理回路チ
ップのチップ間を渡る為に生ずる電気信号の時間的遅れ
を削減することが可能となる。その結果、ある命令アー
キテクチャを持つ命令の組み合わせで別の命令アーキテ
クチャを持つ命令処理を実現している情報処理装置のハ
ードウェアの命令処理性能を大幅に向上出来る。
トと命令アーキテクチャモードレジスタそしてハードウ
ェアロジック制御で第1の命令アーキテクチャを持つ命
令処理を行う情報処理装置における命令修飾変換ユニッ
トは、演算及び制御を司る電子的な論理回路として半導
体チップ中に実装し、前記制御記憶そして命令記憶とシ
ーケンス記憶は、データの記憶を司る電子的な記憶素子
又は電子回路の結線を使用した記憶素子として前述の電
子的な論理回路と同一の半導体チップ中に実装し、前記
セットアップデータ生成部は、前記演算及び制御を司る
電子回路とデータの記憶を司る記憶素子又は電子回路の
結線を使用した記憶素子を同一の半導体チップ中に実装
し、命令制御ユニットと実行ユニットと命令アーキテク
チャモードレジスタと制御記憶そして命令記憶とシーケ
ンス記憶及びセットアップデータ生成部を同一の半導体
チップ中に実装する事で、記憶素子チップと論理回路チ
ップのチップ間を渡る為に生ずる電気信号の時間的遅れ
を削減することが可能となる。その結果、ある命令アー
キテクチャを持つ命令の組み合わせで別の命令アーキテ
クチャを持つ命令処理を実現している情報処理装置のハ
ードウェアの命令処理性能を大幅に向上出来る。
【0193】更に、前述の如くに記憶素子と論理回路か
らなる構成要素を同一の半導体チップ中に実装する事
で、記憶素子チップと論理回路チップのチップ間の電気
信号を送受する入出力端子を除去することが可能とな
る。その結果、チップ上に実装できる物理的な入出力端
子の数の制限を除去することが出来る。その結果、記憶
素子と論理回路間の電気信号のデータ幅を大幅に拡張す
ることが出来、マイクロコードで命令処理を実現してい
る情報処理装置、そしてある命令アーキテクチャを持つ
命令の組み合わせで別の命令アーキテクチャを持つ命令
の命令処理を実現している情報処理装置のハードウェア
の命令処理性能を大幅に向上出来る。
らなる構成要素を同一の半導体チップ中に実装する事
で、記憶素子チップと論理回路チップのチップ間の電気
信号を送受する入出力端子を除去することが可能とな
る。その結果、チップ上に実装できる物理的な入出力端
子の数の制限を除去することが出来る。その結果、記憶
素子と論理回路間の電気信号のデータ幅を大幅に拡張す
ることが出来、マイクロコードで命令処理を実現してい
る情報処理装置、そしてある命令アーキテクチャを持つ
命令の組み合わせで別の命令アーキテクチャを持つ命令
の命令処理を実現している情報処理装置のハードウェア
の命令処理性能を大幅に向上出来る。
【0194】更に、前述の如くに記憶素子と論理回路か
らなる構成要素を同一の半導体チップ中に実装する事
で、記憶素子チップと論理回路チップのチップ間を渡る
電気信号を増幅する回路とその回路で消費される電力と
発熱を大幅に削減することが可能となる。その結果、マ
イクロコードで命令処理を実現している情報処理装置、
そしてある命令アーキテクチャを持つ命令の組み合わせ
で別の命令アーキテクチャを持つ命令ので命令処理を実
現している情報処理装置の消費される電力と発熱を大幅
に削減出来る。
らなる構成要素を同一の半導体チップ中に実装する事
で、記憶素子チップと論理回路チップのチップ間を渡る
電気信号を増幅する回路とその回路で消費される電力と
発熱を大幅に削減することが可能となる。その結果、マ
イクロコードで命令処理を実現している情報処理装置、
そしてある命令アーキテクチャを持つ命令の組み合わせ
で別の命令アーキテクチャを持つ命令ので命令処理を実
現している情報処理装置の消費される電力と発熱を大幅
に削減出来る。
【図1】本発明の情報処理装置におけるマイクロ命令読
出し実行機構の一実施例を示すブロック図である。
出し実行機構の一実施例を示すブロック図である。
【図2】従来技術である情報処理装置のマイクロ命令読
出し実行機構の一例を示すブロック図である。
出し実行機構の一例を示すブロック図である。
【図3】従来技術である情報処理装置の命令制御ユニッ
トの構成例を示す図である。
トの構成例を示す図である。
【図4】従来技術である複数のマイクロ命令から構成さ
れるマイクロコード実行手順と複数のマイクロ命令のつ
ながりを示した図である。
れるマイクロコード実行手順と複数のマイクロ命令のつ
ながりを示した図である。
【図5】従来技術における命令機能を実現する上でのマ
イクロ命令機能の組合せとプログラミング順序の一例を
示す図である。
イクロ命令機能の組合せとプログラミング順序の一例を
示す図である。
【図6】本発明におけるシーケンス記憶内に格納される
1つのシーケンスコードエントリの形式と内容の例を示
した図である。
1つのシーケンスコードエントリの形式と内容の例を示
した図である。
【図7】本発明の情報処理装置における主要部の詳細構
成を示すブロック図である。
成を示すブロック図である。
【図8】本発明における命令機能を実現する上でのシー
ケンスコードとマイクロ命令機能の組合せとプログラミ
ング順序の一例を示した図である。
ケンスコードとマイクロ命令機能の組合せとプログラミ
ング順序の一例を示した図である。
【図9】従来技術である情報処理装置の命令制御ユニッ
トの構成例を示す図である。
トの構成例を示す図である。
【図10】従来技術である情報処理装置とその上で動作
するオペレーティングシステムとアプリケーションプロ
グラムの構成と関係を示した図である。
するオペレーティングシステムとアプリケーションプロ
グラムの構成と関係を示した図である。
【図11】従来技術である情報処理装置が複数の異なる
命令アーキテクチャを持つ命令処理を行なう場合の情報
処理装置とオペレーティングシステムとアプリケーショ
ンプログラムの構成と関係を示した図である。
命令アーキテクチャを持つ命令処理を行なう場合の情報
処理装置とオペレーティングシステムとアプリケーショ
ンプログラムの構成と関係を示した図である。
【図12】従来技術である異なる命令アーキテクチャプ
ログラムをインタープリタなる手段で実行するときの機
能資源の構成と機能資源の役割を示した図である。
ログラムをインタープリタなる手段で実行するときの機
能資源の構成と機能資源の役割を示した図である。
【図13】従来技術である異なる命令アーキテクチャプ
ログラムをシミュレータ又はエミュレータなる手段で実
行するときの機能資源の構成と機能資源の役割を示した
図である。
ログラムをシミュレータ又はエミュレータなる手段で実
行するときの機能資源の構成と機能資源の役割を示した
図である。
【図14】従来技術における命令機能を実現する上での
命令機能の組合せとプログラミング順序の一例を示す図
である。
命令機能の組合せとプログラミング順序の一例を示す図
である。
【図15】本発明のハードロジック制御で命令処理を行
なう情報処理装置における命令読出し実行機構の一実施
例を示すブロック図である。
なう情報処理装置における命令読出し実行機構の一実施
例を示すブロック図である。
【図16】図15の情報処理装置における主要部の詳細
構成を示した図である。
構成を示した図である。
【図17】本発明における命令機能を実現する上でのシ
ーケンスコードと命令機能の組合せとプログラミング順
序の一例を示した図である。
ーケンスコードと命令機能の組合せとプログラミング順
序の一例を示した図である。
【図18】本発明におけるシーケンス記憶内に格納され
る1つのシーケンスコードエントリの形式と内容の例を
示した図である。
る1つのシーケンスコードエントリの形式と内容の例を
示した図である。
【図19】本発明におけるマイクロコ−ド制御で命令処
理を行なう情報処理装置を半導体チップ中に実装する実
施例を示すブロック図である。
理を行なう情報処理装置を半導体チップ中に実装する実
施例を示すブロック図である。
【図20】本発明におけるマイクロコ−ド制御で命令処
理を行なう情報処理装置を半導体チップ中に実装する他
の実施例を示すブロック図である。
理を行なう情報処理装置を半導体チップ中に実装する他
の実施例を示すブロック図である。
【図21】本発明におけるマイクロコ−ド制御で命令処
理を行なう情報処理装置を半導体チップ中に実装する更
に他の実施例を示すブロック図である。
理を行なう情報処理装置を半導体チップ中に実装する更
に他の実施例を示すブロック図である。
【図22】本発明におけるハードロジック制御で命令処
理を行なう情報処理装置を半導体チップ中に実装する実
施例を示すブロック図である。
理を行なう情報処理装置を半導体チップ中に実装する実
施例を示すブロック図である。
【図23】本発明におけるハードロジック制御で命令処
理を行なう情報処理装置の命令読出し実行機構を半導体
チップ中に実装する実施例を示すブロック図である。
理を行なう情報処理装置の命令読出し実行機構を半導体
チップ中に実装する実施例を示すブロック図である。
【図24】本発明におけるハードロジック制御で命令処
理を行なう情報処理装置の命令読出し実行機構を半導体
チップ中に実装する他の実施例を示すブロック図であ
る。
理を行なう情報処理装置の命令読出し実行機構を半導体
チップ中に実装する他の実施例を示すブロック図であ
る。
【図25】本発明における情報処理装置の命令読出し実
行機構を半導体チップ中に実装する更に他の実施例を示
すブロック図である。
行機構を半導体チップ中に実装する更に他の実施例を示
すブロック図である。
100,1500 主記憶 110,1510 命令制御ユニット 120,1520 シーケンス記憶アドレスレジスタ群 130,1530 アドレス加算器 140,1540 シーケンス記憶群 150 制御記憶アドレスレジスタ 160 制御記憶 170 制御記憶データレジスタ 180,1580 実行ユニット 111,1511 命令レジスタ 112,1512 命令解読器 113,1513 セットアップデータ生成器群 115,1615 命令アーキテクチャモードレジスタ 1560 命令記憶 1570 命令修飾変換ユニット
Claims (9)
- 【請求項1】 命令の読み出しと解読を行う命令制御ユ
ニットと、命令を実行する実行ユニットを具備してなる
情報処理装置において、 処理対象の命令のアーキテクチャモードを保持する命令
アーキテクチャモードレジスタと、 命令のアーキテクチャモード毎に、それぞれ命令処理に
必要なセットアップデータを生成する複数のセットアッ
プデータ生成部と、 命令のアーキテクチャモード毎に、それぞれ命令の実行
順序を定めたシーケンスコード列を格納する複数のシー
ケンス記憶と、 実行すべき命令語群を、重複を排して格納する命令記憶
とを設け、 前記命令アーキテクチャモードレジスタの出力値によっ
て、前記複数のセットアップデータ生成部の中から一つ
のセットアップデータ生成部を選択し、処理対象命令の
解読結果を、前記選択されたセットアップデータ生成部
の入力として、当該命令の処理に必要なセットアップデ
ータを得、 前記得られたセットアップデータの少なくとも一部を、
前記複数のシーケンス記憶の中の一つのシーケンス記憶
の先頭読み出しアドレスとして、当該シーケンス記憶か
ら処理対象命令の実行順序を定めたシーケンスコード列
を読み出し、 前記読み出されたシーケンスコード列を前記命令記憶の
読み出しアドレス列として、該命令記憶から処理対象命
令に対応する命令語群を読み出し、前記実行ユニットへ
送出することにより、 複数のアーキテクチャの異なる命令を実行可能としたこ
とを特徴とする情報処理装置。 - 【請求項2】 請求項1記載の情報処理装置において、
前記命令アーキテクチャモードレジスタの命令アーキテ
クチャモードを変えることにより、同一の命令コードを
持つ命令に対して、異なる動作仕様を持つ命令処理を実
行せしめることを特徴とする情報処理装置。 - 【請求項3】 命令の読み出しと解読を行う命令制御ユ
ニットと、命令の実行を制御するための複数のマイクロ
命令を格納する制御記憶と、マイクロ命令を実行する実
行ユニットを備え、マイクロコード制御で命令処理を行
う情報処理装置において、 処理対象の命令のアーキテクチャモードを保持する命令
アーキテクチャモードレジスタと、 命令のアーキテクチャモード毎に、それぞれ命令の種類
に応じて異なるシーケンスコードアドレスを含む命令処
理のセットアップデータを生成する複数のセットアップ
データ生成部と、 命令のアーキテクチャモード毎に、それぞれ命令の種類
に応じて前記制御記憶に格納されているマイクロ命令の
実行順序を定めたシーケンスコード列を格納する複数の
シーケンス記憶とを設け、 前記命令アーキテクチャモードレジスタの出力によっ
て、前記複数のセットアップデータ生成部の中から一つ
のセットアップデータ生成部を選択し、 処理対象命令の解読結果を、前記選択されたセットアッ
プデータ生成部の入力として、当該命令に対応するセッ
トアップデータを得、 前記得られたセットアップデータ中のシーケンスコード
アドレスを、前記複数のシーケンス記憶の中の一つのシ
ーケンス記憶の入力として、当該シーケンス記憶から前
記シーケンスコードアドレスを先頭にシーケンスコード
を順次読み出し、 前記読み出されたシーケンスコードを前記制御記憶の読
み出しアドレスに用いて、前記制御記憶からマイクロ命
令を順次読み出して実行ユニットに送出することを特徴
とする情報処理装置。 - 【請求項4】 請求項2記載の情報処理装置において、
前記複数のセットアップデータ生成部の各々は、命令処
理のセットアップデータとして、前記命令の種類に応じ
て異なるシーケンスコードアドレスに加えてマイクロ命
令アドレスを生成する機能を有し、 前記選択されたセットアップデータ生成部は、解読され
た命令の種類によって、マイクロ命令アドレスを送出す
る条件が成立した場合、当該マイクロ命令アドレスを前
記制御記憶の入力として、該制御記憶から直接マイクロ
命令を読み出すことを特徴とする情報処理装置。 - 【請求項5】 任意の命令アーキテクチャを持つ命令を
格納する主記憶と、命令の読み出しと解読を行う命令制
御ユニットと、特定の命令アーキテクチャを持つ命令語
(以下、第1の命令アーキテクチャの命令語という)の
みを格納する命令記憶と、命令語を修飾する命令修飾ユ
ニットと、第1の命令アーキテクチャの命令語を実行す
る実行ユニットを具備してなる情報処理装置において、 処理対象の命令のアーキテクチャモードを保持する命令
アーキテクチャモードレジスタと、 命令のアーキテクチャモード毎に、それぞれ命令の種類
に応じたセットアップデータを生成する複数のセットア
ップデータ生成部と、 命令のアーキテクチャモード毎に、それぞれ命令の実行
順序を定めたシーケンスコード列を格納する複数のシー
ケンス記憶を設け、 前記命令アーキテクチャモードレジスタの出力値によっ
て、前記複数のセットアップデータ生成部の中から一つ
のセットアップデータ生成部を選択し、 前記主記憶から読み出された処理対象命令の解読結果
を、前記選択されたセットアップデータ生成部の入力と
して、当該命令の処理に必要なセットアップデータを
得、 前記得られたセットアップデータに少なくとも一部を、
前記複数のシーケンス記憶の中の一つのシーケンス記憶
の先頭読み出しアドレスとして、当該シーケンス記憶か
ら処理対象命令の実行順序を定めたシーケンスコードを
順次読み出し、 前記読み出されたシーケンスコードの少なくとも一部を
前記命令記憶の読み出しアドレスとして、該命令記憶か
ら処理対象命令に対応する前記第1のアーキテクチャの
命令語を順次読み出し、 前記読み出された命令語に対して前記命令修飾ユニット
修飾及び変換操作を行い、前記実行ユニットに送出する
ことを特徴とする情報処理装置。 - 【請求項6】 請求項5記載の情報処理装置において、
前記選択されたセットアップデータ生成部は、処理対象
命令が第1のアーキテクチャを持つ命令以外の場合に、
生成したセットアップデータの一部をシーケンス記憶の
先頭読み出しアドレスとして当該シーケンス記憶に送出
し、処理対象命令が第1のアーキテクチャを持つ命令の
場合には、生成したセットアップデータをそのまま命令
修飾ユニットに送出することを特徴とする情報処理装
置。 - 【請求項7】 請求項1記載の情報処理装置において、
命令制御ユニット、命令アーキテクチャモードレジス
タ、セッフアップデータ生成部群、シーケンス記憶群及
び命令記憶の全部あるいはその所望の組み合せごとに一
つの半導体チップで実装したことを特徴とする情報処理
装置。 - 【請求項8】 請求項3もしくは4記載の情報処理装置
において、命令制御ユニット、命令アーキテクチャモー
ドレジスタ、セッフアップデータ生成部群、シーケンス
記憶群及び制御記憶の全部あるいはその所望の組み合せ
ごとに一つの半導体チップで実装したことを特徴とする
情報処理装置。 - 【請求項9】 請求項5もしくは6記載の情報処理装置
において、命令制御ユニット、命令アーキテクチャモー
ドレジスタ、セットアップデータ生成部群、シーケンス
記憶群、命令記憶及び命令修飾変換ユニットの全部ある
いはその所望の組み合せごとに一つの半導体チップで実
装したことを特徴とする情報処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6813697A JPH1091429A (ja) | 1996-07-26 | 1997-03-21 | 情報処理装置 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19744996 | 1996-07-26 | ||
| JP8-197449 | 1996-07-26 | ||
| JP6813697A JPH1091429A (ja) | 1996-07-26 | 1997-03-21 | 情報処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1091429A true JPH1091429A (ja) | 1998-04-10 |
Family
ID=26409366
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6813697A Pending JPH1091429A (ja) | 1996-07-26 | 1997-03-21 | 情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1091429A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008171428A (ja) * | 2007-01-09 | 2008-07-24 | Internatl Business Mach Corp <Ibm> | プロセッサが規格合致するように見えるアーキテクチャ・レベルを選択するための方法および装置 |
-
1997
- 1997-03-21 JP JP6813697A patent/JPH1091429A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008171428A (ja) * | 2007-01-09 | 2008-07-24 | Internatl Business Mach Corp <Ibm> | プロセッサが規格合致するように見えるアーキテクチャ・レベルを選択するための方法および装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5826054A (en) | Compressed Instruction format for use in a VLIW processor | |
| US5787302A (en) | Software for producing instructions in a compressed format for a VLIW processor | |
| KR100300001B1 (ko) | 명령어요소들의재조합에의한서로다른명령어코드들사이의동적변환 | |
| US8583895B2 (en) | Compressed instruction format for use in a VLIW processor | |
| US5852741A (en) | VLIW processor which processes compressed instruction format | |
| JP2005182659A (ja) | Vliw型dsp,及びその動作方法 | |
| US7139899B2 (en) | Selected register decode values for pipeline stage register addressing | |
| CN100380315C (zh) | 提供多指令集和多译码模式的设备和方法 | |
| EP0843848B1 (en) | Vliw processor which processes compressed instruction format | |
| US5862398A (en) | Compiler generating swizzled instructions usable in a simplified cache layout | |
| US11093243B2 (en) | Vector interleaving in a data processing apparatus | |
| JPH1091429A (ja) | 情報処理装置 | |
| EP0862111B1 (en) | Dynamic conversion between different instruction codes by recombination of instruction elements | |
| US12504973B2 (en) | Technique for handling data elements stored in an array storage | |
| WO2025210335A1 (en) | Vector cryptographic processing | |
| GB2640130A (en) | Vector cryptographic processing | |
| JP2812501B2 (ja) | パイプライン制御方式 | |
| TW202439170A (zh) | 高效率複數向量乘法之技術 | |
| GB2617829A (en) | Technique for handling data elements stored in an array storage | |
| JPH07191845A (ja) | 即値データ転送装置 | |
| JPS6153754B2 (ja) | ||
| JPH02148328A (ja) | オペランドデータ先取り方式 | |
| JPS62256135A (ja) | 翻訳テスト命令処理方式 | |
| JPH1115657A (ja) | 情報処理装置 | |
| JPH04107633A (ja) | マイクロプログラム制御装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Effective date: 20040203 Free format text: JAPANESE INTERMEDIATE CODE: A02 |