JPH0380336A - 二重オペレーティングシステム計算機の動作強化装置のmバイト命令ワードcpuの動作強化装置及びレジスタ指向型アーキテクチュアcpuの動作強化装置 - Google Patents

二重オペレーティングシステム計算機の動作強化装置のmバイト命令ワードcpuの動作強化装置及びレジスタ指向型アーキテクチュアcpuの動作強化装置

Info

Publication number
JPH0380336A
JPH0380336A JP2095209A JP9520990A JPH0380336A JP H0380336 A JPH0380336 A JP H0380336A JP 2095209 A JP2095209 A JP 2095209A JP 9520990 A JP9520990 A JP 9520990A JP H0380336 A JPH0380336 A JP H0380336A
Authority
JP
Japan
Prior art keywords
register
byte
cpu
mux
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2095209A
Other languages
English (en)
Inventor
Steven M O'brien
ステイーブン マイケル オブライエン
Arthur J Nilson
アーサー ジヨセフ ニルソン
Jayant S Pandya
ジヤーン サンテイラル パンジア
Michael J Saunders
マイケル ジョセフ サンダーズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unisys Corp
Original Assignee
Unisys Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Unisys Corp filed Critical Unisys Corp
Publication of JPH0380336A publication Critical patent/JPH0380336A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、Mバイト命令ワードCPUの動作強化装置及
びレジスタ指向型アーキテクチュアcPUの動作強化装
置の特に、二重オペレーティングシステム計算機の動作
強化装置に関するものである。
[従来の技術] コンパイラやエミュレータはよく知られており一般的に
はオペレーティング命令を1つのフォーマットから異な
った計算機システムにおいても利用できるよう他のフォ
ーマットに変換するためのブラックボックスシステムと
して利用されている。コンパイラやエミュレータは、異
なった計算機システムをエミュレートするために利用さ
れる変更可能かつ蓄積型のマイクロルーチンをもつ二重
モードオペレーティングシステム計算機やマイクロプロ
グラム計算機と共にU、S、クラス364、サブクラス
200に分類されている。そのような計算機システムは
、本発明の同じ譲受人に譲渡された米国特許4,199
,811で述べられているマイクロプログラミング可能
なCPUにおいて議論されている。この参照された従来
技術では、マイクロプログラム化されたエミュレータが
一般的に、望ましい性能をもつが複雑な解決手段である
エミュレート計算機システムと比べて処理速度が遅い原
因となる理由を議論している。
エミュレーションへの1つの望ましいがしかし高価なア
プローチはIBM−AS400計算機システムに見いだ
される。それは2つの明らかに異なるオペレーティング
システムで動作する。そのような二重オペレーティング
システム計算機は、従来のアーキテクチュアや複合シス
テムとは異なる新しいアーキテクチュアを必要とし、単
一の新しいオペレーティングシステムで動作する。その
ような統合オペレーティングシステムのバリエーション
はAT&Tにより発行された米国特許4、646.04
0で述べられている。この二重モード計算機はマルチタ
スク計算機システムにおいてUNIX■とMS−DO3
■をサポートする。
MS−DOSオペレーティングシステムとそのアプリケ
ーションはリアルモードかノンプロテクトモードで実行
され、UNIXアプリケーションは、同じ周辺装置への
アクセスや、主記憶の同じ領域への書き込みのための競
合を防ぐためにノンプロテクトモードにおけるUNIX
オペレーティングシステムで実行される。
[発明が解決しようとしている課題] しかし上述の従来例では、こうした競合を防ぐために、
特別な統合支援ハードウェアが提供されることが必要で
ある。
特に、メインフレーム計算機システムでの実行のために
設計されたプログラムを、その関連したオペレーティン
グシステムがロードされた時、より効率的に動作する上
述出願の二重オペレーティングシステム計算機の改造を
行うことが必要である。さらにその二重オペレーティン
グシステム計算機に、アーキテクチュア変換を行うため
に必要とされるマイクロコードの量を実質的に減らす装
置を提供することも必要である。オペレーティングシス
テムとそのユーザプログラムとの動作性能と速度を改善
すること、そして付随的操作なしでマイクロコードとオ
ペレーティングシステムのローディングの結果として、
自動的にオペレーティングシステム変換をさせるようハ
ードウェア装置の機能追加をすることも必要である。
[発明の目的] 明確に異なるオペレーティングシステムで実行されるよ
うに設計されたプログラムを効率的に実行スる二重オペ
レーティングシステム計算機を提供することが、本発明
の主要目的である。
機械語のマイクロコード命令によって定義される複数の
操作として実行される異なったオペレーティングシステ
ムの命令を実行可能なように対応可能な計算機システム
を提供することが、本発明の他の主要目的である。
異なったオペレーティングシステムでプログラムされ、
あらかじめ決められた一連のマイクロコード命令に従っ
て、命令を実行するように設計された計算機システムを
提供することが、本発明の更に他の主要目的である。
1つのアーキテクチュアとそれに付随するオペレーティ
ングシステムに対する命令を、第2の異なるオペレーテ
ィングシステムで書かれた命令を実行するためのアーキ
テクチュアに適用するための、クリティカルパスハード
ウェアを提供することが、本発明の更に他の主要目的で
ある。
80ビツト制御レジスタへの入力で、6バイト48ビツ
ト命令レジスタを4バイト32ビツト命令に変更するた
めの装置を提供することが、本発明のより具体的な目的
である。
スタック指向型計算機システムにおいてレジスタ指向型
計算機システム命令の動作を可能とするために、命令オ
ペランド情報がロードされたとき適用される複数の新し
いインデックスレジスタを提供することが、本発明の他
のより具体的な目的である。
レジスタファイルをアドレスするために、オペランドデ
ータなアドレスに変換するための新規インデックスレジ
スタ手段を提供することが、本発明の更に他の目的であ
る。
レジスタファイルのスタックレジスタに維持されている
オペランドに対する代わりとして、第1オペランドと第
2オペランドのアドレスを生成するために新規インデッ
クスレジスタ手段を提供することが、本発明の更に他の
目的である。
実質上、浮動小数点CPUを固定小数点CPUに変換す
るための新規装置を提供することも、本発明の更に他の
目的である。
本発明の上記目的更に他の目的に従って、スタック指向
型メインフレーム計算機システムをレジスタ指向型メイ
ンフレーム計算機システムに変換するために提供される
装置がある。
[実施例〕 スタック指向型計算機システムをレジスタ指向型計算機
システムに変換する強化装置を表す詳細な図を示す前に
、ここで述べられる精密な装置とその改良は、ユニシス
八〇シリーズスタック指向型メインフレーム計算機を、
ユニシスシステム80レジスタ指向型計算機システムを
エミュレートするアーキテクチュアに変換する目的のも
のであることを記しておく。
ユニシスシステム80として動作するよう改良と設計が
なされているユニシスA6シリーズ計算機システム主要
部のブロック構成図を示す第1図を参照されたい。メモ
リ制御装置13にバス12によって結合されている主記
憶11をもっCPUl0が示されている。メモリ制御装
置13はシステムバス15にバス14によって結合され
ている。システムバス15の一部であるバス16は、命
令処理装置(IP)18と入出力制御処理装置(IOC
P)’19から構成されるプロセッサモジュール17に
連結している。主記憶11における命令とデータは、シ
ステムバス15を経由し、プロセッサモジュール17に
送られる。命令は命令レジスタ21に送られ、データは
IP18と同様にl0CP19に付随するバッファに送
られる。命令と制御情報は、命令レジスタ21に48ビ
ツトワ一ド形式で保持される。命令レジスタ21では、
命令と制御情報がIPモジュールのRAMメモリにスト
アされているマイクロコード22を採用したマイクロコ
ード命令ルーチンによって実行される。入出力(Ilo
)操作は、l0CPモジユール19に付随するRAMメ
モリにストアされているマイクロコード23によって実
行される。システム80CPUとしての動作のためにC
PUl0を準備するため、独特なマイクロコードが、ラ
イン24と25を経由してマイクロコードレジスタ22
と23にそれぞれ送られる。
そして、マイクロコードに付随するオペレーティングシ
ステムが、主記憶11にロードされる。主記憶11はシ
ステム80CPUとしての動作のためにCPUl0の準
備を完了する。これ以後、述べられることになる本発明
改良のすべては、RAMメモリ中の独特なマイクロコー
ドと主記憶中の独特なオペレーティングシステムをロー
ドするプロセスを通して自動的に可能となる。
システムバス15と、ここでは示されないが、周辺装置
とCPU10の間のインタフェース制御装置として動作
するI10アダプタに連結されるバス26が示されてい
る。そのような周辺装置は、一般に計算機システム1o
によって使用されるプログラムやデータをストアするた
めに使われている。I OCP 19はバス16を経由
して周辺装置から、バス15を経由して主記憶工1にプ
ログラムやデータをロードする。命令処理装置(IP)
18は、主記憶11にストアされている命令を主記憶1
1にストアされているデータについて実行し、バス16
を経由してI OCPの優先制御を保持する。
バス16はIP18に付随する第1キヤツシユメモリ2
7を、I OCP 19に付随する第2キヤツシユメモ
リ28を接続する。そのキャッシュメモリは、それらの
関連するIPとrocpに専用のものである。
キーチエツクロジック29と31とは、占有権をもたな
いプログラムによってアクセスされないように主記憶工
1の領域をプロテクトするために採用されている。RA
M32とバス33は、キーチエツクロジック31の結合
部分である。同じように、RAM34とバス35は、キ
ーチエツクロジック29の結合部分である。
パイプラインインバリディトロジック36と37は、書
き込み操作が主記憶11の正しい位置に行われている時
そのことが命令レジスタ21で行われていることを検出
することによって、命令レジスタ21の完全性を、維持
するために採用されている。
バイブラインインバリディトロジックとキーチエツクロ
ジックとは、本発明の一部を構成しないので、ここで詳
細な説明はしていない。
システム80オペレーテイングシステムに機能的に見ら
れるハードウェアのブロック構造図と、A6シリーズC
PUに採用された実際のハードウェアを示す第2図を参
照されたい。従来技術のシステム80CPUにおいて、
レジスタファイル38は、16個のユーザレジスタ39
と16個のスーパバイザレジスタ41と16個の制御レ
ジスタ42と8個の浮動小数点レジスタ43と16個の
スナップレジスタ44の、32ビツトワード長をもつ全
てで72個のレジスタから構成されている。さらに、従
来技術のシステム80主記憶45は、32ビツトワード
で最大16メガバイトまでサポートする。ユニシス穴6
シリーズCPUの主記憶は、48ビツトワードで最大2
4メガバイト提供され、システム80オペレーテイング
システム0873とデータをストアするために採用され
ている。
ユニシス穴6シリーズCPUで提供されるファイルレジ
スタは48個のレジスタであり、そのそれぞれが48ビ
ツトワード長であることに問題が生じた。一方、従来技
術のシステム5ocpuは72個のレジスタを必要とし
、それぞれが32ビツトワード長となっている。この問
題を克服するために、レジスタ42から44は主記憶1
1の固定された位置に永久的にストアされる。
これらのレジスタとその内容はレジスタファイル46に
ストアされたりファイルされる必要はない。しばしば、
レジスタ42から44の1つの内容が一時的にレジスタ
ファイルに命令処理装置18による検査の目的のために
ストアされるが後に主記憶11に戻される。もしユーザ
プログラムが実行中なら、スーパバイザプログラムは実
行されない。つまり、主記憶11の16個のユーザレジ
スタ全てまたは主記憶11の16個のスーパバイザレジ
スタは、プログラムによる使用のためにレジスタファイ
ル46の16個のレジスタにロードされる。こうしてシ
ステム5ocpuの正しいかつ効率的な動作のため必要
なスクラッチレジスタとスティタスレジスタと制御情報
としての利用のために他の32個のレジスタが残される
命令レジスタ21にロードされる命令は、以前に示され
たようにシステムバス15を経由して主記憶11により
供給される。命令処理装置18に前にロードされたマイ
クロコード22は、命令レジスタ21の32ビツトユー
ザプログラム命令がそれがあたかもレジスタファイル3
8を使っているかのように、動作を行わせることに関し
て、命令レジスタ21の命令によって指定されるルーチ
ンを実行する。しかしその時、実際は以降より詳細に説
明するように、レジスタファイル46を採用している。
命令処理装置18のハードウェア改良のより詳細なブロ
ック構成図を示す第3図と第4図を参照されたい。説明
の目的のために、システム80ユーザプログラムは主記
憶11に従来技術のOS/3オペレーティングシステム
とともに既にロードされていると仮定する。独特なマイ
クロコードもまたユニシスA6CPUのシステム80バ
ージヨンを提供するためにモジュール17にロードされ
ている。もし1個のユーザプログラムがまさに実行され
ようとするなら、オペレーティングシステムはユーザプ
ログラム処理を開始するための命令を実行する。この命
令で16個のスーパバイザレジスタ41を主記憶11に
移し、主記憶の16個のユーザレジスタ39をレジスタ
ファイル46に移す。実行される命令はまた、ユーザプ
ログラムの最初の命令をシステムバス15と16とを経
由して、命令コードバッファもしくは命令バッファ21
にロードする。バッファ21にロードされた命令は1バ
イトのopコードと以降説明する最大6バイトまでのパ
ラメータ情報から構成されている。opコードはライン
48を経由して第4図に示されるエントリベクタ49に
移される。エントリベクタ49にストアされたopコー
ドは、制御レジスタ56にストアされるライン55のマ
イクロコードワードを生成するため、制御記憶レジスタ
54にアクセスする実際のマイクロコードアドレスを生
成するシーケンサ52に向けられるライン51のマイク
ロコードアドレスを生成するために使用される。制御レ
ジスタ56 (CR)にストアされるマイクロコードワ
ードは、命令処理装置18により実行される複数のマイ
クロコードワードを有するマイクロコードルーチンの最
初の命令である。CR56の80ビツト制御ワードは、
シーケンサ52と結合する出力ライン73をもつ条件ロ
ジック58に対してライン57上に1つの選択信号を生
成する。
レジスタファイル46のアドレスは、マルチプレクサ6
1に向けられるライン59上に生成される。ライン63
の1つのMUX選択信号は、レジスタファイル46に向
けられることとなるアドレスオンライン63を選択する
ためのインデックスレジスタ手段84のマルチプレクサ
に向けられる。Pマスク65に対するライン64のデー
タ信号は命令処理装置の動作で使用されることとなるデ
ータ定数を提供する。メモリ制御装置13に対するライ
ン66の制御信号は、ライン66を経由して、実行され
る操作が書き込み操作か読み込み操作のいづれであるか
をメモリ制御装置13に知らせるバス16の信号を生成
するシステムバスインタフェース67に、データとして
送られる。
15ビツトマイクロコードリターンアドレスは、64個
のレジスタのスタックを構成するリターンスタック69
に向けられているライン68に生成される。ライン68
のリターンアドレスが、CALL命令に関連するとき、
得られるアドレスはリターンスタック64の先頭に置か
れる。1個の復帰命令が実行された匂き、実行されるこ
ととなる次のマクロ命令は、リターンスタック69の先
頭からとられ、ライン71を経由してシーケンサ52に
送られる。レジスタ56のマイクロコードワード命令が
完了したとき、次のマイクロコード命令のアドレスが、
制御ストラージ54にアクセスしライン55に次のマイ
クロコードフードを生成するライン53に次のマイクロ
コードアドレスな生成するためライン72を経由してシ
ーケンサ52に供給される。
シーケンサ52と結合した信号ライン73は、分岐操作
を許している。シーケンサ52に対するライン74の割
り込み信号はマイクロコードルーチンの割り込みを呼び
出す。それは本発明とは関係のない特別な環境下でのみ
発生する。
ライン48にOpコードを生成した命令コードバッファ
21にストアされた命令(第3図に示されている)より
創始された今述べられたマイクロコードルーチンはまた
、Pマスク65のオペランドl側を向いているライン7
5を通して命令コードバッファからのパラメータデータ
な読み込む。Pマスク65からのデータは、AL[J8
2への2つの入力の内の1つを送るライン81のデータ
信号を生成するためマスク79のオペランド1側を向い
ているライン78のデータ信号を生成するため、ライン
77を経由して口、−チータフ6に送られ、制御レジス
タ56の命令に依存してそのまま通過させられたり、回
転させられたりする。
ライン81のデータはopコードのパラメータの一部で
あり、ALU82からのデータ出力ライン83に現れる
。そのパラメータ信号は、インデックスレジスタ84と
、ライン83を経由するレジスタファイル46の入力に
向けられる。インデックスレジスタ84からのライン8
5の入力はMUX61に送られる。次のマイクロコード
ルーチン命令が発生したとき、ライン62の選択信号は
、レジスタファイル46にライン63上に表されるライ
ン85の出力として、インデックスレジスタ84にロー
ドされるパラメータデータ信号を選択する。レジスタフ
ァイル46にストアされたデータは、ユーザレジスタを
表し、それはデータライン86上とデータライン87上
とにPマスク65のそれぞれオペランド1側とオペラン
ド2側とに対して読み出される。オペランドl側のデー
タはライン77と78と81とを経由してALUに渡さ
れる。同じく、オペランド2側のデータはマスク79の
オペランド2側に対して、出力ライン88上に現され、
ライン89上にALU82に対して第2の入力を構成す
る変形したデータを生成する。ALU82に向けられる
マスク情報は処理され、ライン83の結果データ信号は
ループとレジスタファイル46を通過する。
そこではその結果信号がインデックスレジスタ84によ
って指されているレジスタファイルワードにストアされ
ている。そのことは、以後より詳細に説明される。
インデックスレジスタ84とレジスタファイル46の使
用において柔軟性があることが理解されるであろう。例
えば、オペランド1はインデックスレジスタを使って選
択され、オペランド2は制御レジスタ56からのデータ
を使って選択される。その逆、つまりレジスタファイル
ワードはインデックスレジスタ84におけるアドレスに
よって指され、一方オペランド1は制御レジスタ56か
らのアドレスによって指されているということも言える
。このことが、どのようにおこるのか詳細に説明する前
に、ALU82が第46ビツトの位置でライン91のキ
ャリービット信号を発生すること、第2キヤリービツト
信号はライン92の第47ビツトの位置で発生されるこ
と、そしてその両方は、排他的ORゲート93に送られ
算術ロジックユニット(ALU)82のオーバフロー状
態を示すライン94の出力信号を発生することを述べて
おく。ライン94のオーバフロー信号はフリップフロッ
プ95のデータ側に送られライン96を経由して条件ロ
ジック58に対してオーバフロー出力信号を発生する。
そのことは、第4図に条件ロジック58に対する入力9
−6として示されている。信号ライン97は第47ビツ
トの位置に接続され、算術ロジックユニット(ALU)
82が負の結果を生成するときフリップフロップ98に
対するデータ入力として送られライン99に負の結果信
号を発生する。ライン99の負の結果信号は、第4図に
示されるように条件ロジック58に送られる。前述され
たように、ライン73の条件ロジック58の出力信号は
、マイクロコードルーチンでの分岐命令を実行するため
に用いられる。
レジスタファイル46の16個のレジスタの3つのバン
クをアドレスするための、新規インデックスレジスタ8
4の装置の詳細ブロック構成図を示す第5図を参照され
たい。ライン83を経由して供給されるALUから第3
と第2ビツトを保持するオペランドバンクレジスタ10
1を有するインデックスレジスタ84が示される。ライ
ン102のバンクレジスタ101の出力は、オペランド
IMUX61Aに対してライン59で表されるアドレス
に対する補足的なアドレスを形成する。インデックスレ
ジスタ84Aは、オペランドIMUX61Bに対してラ
イン59で供給されるアドレスに対して出力ライン10
3で補足的なアドレスを形成する4つのアドレスビット
位置4〜7を受信する。ライン62のインデックスレジ
スタに対するMUX選択信号は、後述するように2つの
オペランドMUX61AとMUX61Bの出力やMUX
61AからMUX61Dまでの4つのすべての出力やM
UX61CとMUX61Dの出力を選択することができ
る。同様の方法で、ALU82からのアドレスビット1
と0は、オペランド2のバンクレジスタ104に、オペ
ランド2MUX61Cに対する出力ライン105の2つ
の補助的ビットとして適用される。さらに、ALU82
からのライン83の4つの補助的アドレスビットは、イ
ンデックスレジスタ84Bに適用され、オペランド2M
UX61Dに対する出力として出力ライン106の補助
的アドレスを提供する。第5図で示されるオペランドと
インデックスレジスタを表す理由は、インデックスレジ
スタを採用していないユニシスAシリーズCPUのクリ
ティカルバスの改良を提供することである。二重オペレ
ーティングシステム計算機がAシリーズCPUとして動
作するとき、制御ライン59の固定信号は直接、MUX
61を通してオペランド1とオペランド2とのアドレス
ラッチ107に適用されるかライン83の情報によって
変化させられる。システム80CPUもまた、レジスタ
ファイル46にアクセスするため制御ライン59の信号
を使って同じオペレーションモードで動作する。
しかしながら、システム5ocpuは、16個のユーザ
レジスタや16個のスーパバイザレジスタにアクセスす
るためインデックスレジスタ84Aと84Bとを採用す
る。そのとき、16個のユーザレジスタと16個のスー
パバイザレジスタはレジスタファイル46に位置してお
り、他のレジスタに間接的にアドレスする目的のためレ
ジスタファイル46の中で再配置される。AシリーズC
PUへのこの機能追加で可変アドレスへのアドレッシン
グが可能となり、レジスタ指向型アーキテクチュアCP
Uに対してより速くレジスタファイルをアクセスできる
ようになった。
ラッチ107は、ライン63の出力を決定するために変
化するMUX61AからMUX61Dまでの4つすべて
の出力とともにロードされる。
オペランド1の6ビツトのアドレスはレジスタファイル
46に対してライン108上に送られ、オペランド20
6ビツトのアドレスはレジスタファイル46に対してラ
イン109上に送られる。一方、レジスタファイル46
は3つのバンクつまりそれぞれが16個のレジスタから
成り立つバンクO、バンク1、バンク2を持っている。
レジスタファイル46におけるオペランド1とオペラン
ド2アドレスの選択により、ライン86と87上にオペ
ランド1とオペランド2のデータを生成する。そのデー
タは、第3図に関連して以前に説明したようにPマスク
65に送られる。
命令コードバッファと6バイト命令バツフアを4バイト
命令バツフアに変換する装置の配置具合の詳細ブロック
構成図を示す第6図を参照されたい。命令レジスタ21
にロードされる命令はそれぞれが48ビツトから構成さ
れるそれぞれ6バイトの2ワードで構成されている。シ
ステム80CPUは32ビット命令語を採用しているの
で、レジスタ21Aと21Bで示される6バイトの内4
バイトのみが必要となる。レジスタ21Aは、データを
第6バイトから第11バイトまでにストアするが、最も
特異なバイトである第6バイトと第7バイトはシステム
5ocpu動作時にはすべてゼロが詰められる。同様に
、命令バッファレジスタ21Bは、データを第Oバイト
から第5バイトまでにストアするが、最も特異なバイト
である第Oバイトと第1バイトはシステム80CPU動
作時にはすべてゼロが詰められる。
レジスタ21Aと21Bの12バイトすべての出力は、
後で定義されるMUXに送られるが図式的に示されてい
る。システム80動作に対する命令はいつも、オペレー
ションコードとして指定される1バイトと、1バイトか
3バイトか5バイトで占められるパラメータデータとか
ら構成されているので、MUXlllと112とへの連
結は固定されない。”例えば、第2バイトから第5バイ
トのいづれかと第8バイトから第11バイトのいづれか
とは、MUX 111によってエントリベクタ49に向
けられているライン48についてのopコード出力とし
て選択されるかもしれない。
同様に、第2バイトから第5バイトと第8バイトから第
11バイトの8バイトのいづれかは、MUX112によ
ってPマスク65に対するライン75のパラメータコー
ド出力として選択されるかもしれない。システム80C
PUを運用中のとき、MUX 111と112は4バイ
トから1バイトまで対応可能のMUXとして動作し、ユ
ニシスムシリーズCPUを運用中のとき、MUXIII
と112は6バイトから1バイトまで対応可能のMtJ
Xとして動作することが理解されるであろう。ライン1
13でこのMUX選択を行う目的のために、Aシリーズ
CPUシーケンス選択ブロック115とシステム80シ
ーケンス選択ブロック116をもつ選択MUX114が
提供される。
115と116のいづれかはライン118を経由してコ
ードアイソレートフリップフロップ117によって選択
される。2つの指定された計算機、つまり1つはスタッ
ク指向型アーキテクチュアAシリーズcpu、一方はレ
ジスタ指向型アーキテクチュアのシステム80とに関し
て、二重オペレーティングシステムCPUの好適実施例
を説明したので、2つの異なったオペレーティングシス
テムのアーキテキチュアは命令処理装置の中にマイクロ
コードルーチンを採用することによって、また二次的な
オペレーティングシステム処理装置の性能を向上させる
ためのクリティカルバスについて最小限の装置とハード
ウェア改造によって、1つのハードウェアアーキテキチ
ュアに統合できることが理解されるであろう。動作モー
ドについてのクリティカルバス装置の改良は、システム
36とシステム38オペレーテイングシステムを統合さ
せ1つのオペレーティングシステムを採用した統合計算
機であるIBM  AS400で必要としたような二重
オペレーティングシステムでのどちらか一方の計算機の
アーキテキチュアやオペレーティングシステムの再設計
を必要としない。
それゆえ1本発明は二重オペレーティングシステムCP
Uにおいて使用される両方のシステムに要求される性能
を獲得したり維持するために、大規模な再設計によって
ではなく、小規模な改良による実質的な実現手段を提供
していることが理解されるであろう。さらに、システム
80シーケンサが完全に命令コードバッファ21Aと2
1Bとの最も重要なバイトの読み出しに必要とする手順
を排除する時、前述のような6バイト命令バツフアの4
バイト命令バツフアへの変換はさらに強化されることも
認識されるであろう。つまり、システム80の読み出し
手順では、第O1第1、第6、第7バイトを順番にみる
ことなしに、第2バイトで始まり第5バイトまで、次に
第8バイトから第11バイトまでを順に直接的に見るこ
とができる。
[発明の効果] 以上説明したように、本発明のNバイト命令ワードCP
Uの動作強化装置は、 Nバイト命令ワードCPU上でユーザプログラムを実行
するとき、Nの数値より小さい値をもつNバイト命令ワ
ードCPUの動作を強化する装置であって、 Nバイト命令レジスタをもつNバイト命令ワードCPU
と、 前記レジスタにNバイトまたはMバイト命令ワードを供
給するための主記憶メモリと、1バイト操作コード出力
を提供するために前記Nバイト命令レジスタにおける前
記Mバイトのどこにでも接続可能な操作コードMUXと
、パラメータコード出力を提供するために前記Nバイト
命令レジスタにおける前記Mバイトの残り部分のどこに
でも接続可能なパラメータコードMUXと、 Nバイト命令ワードCPUをNバイト命令ワードCPU
に変換するために、前記操作コードMUXと、前記パラ
メータコードコードMUXとに結合された、Mバイト命
令ワード動作モードを選択する手段とを備えることを特
徴とするNバイト命令ワードCPUの動作強化装置であ
るので、特に大規模なアーキテクチュア再設計を行うこ
となく、2つの異なるアーキテクチュアもつオペレーテ
ィングシステムが単一のハードウェア上で統合され、か
つ2つのオペレーティングシステムが望ましい性能を維
持しつつ運用することが可能となる。
さらに、本発明のレジスタ指向型アーキテクチュアCP
Uの運用強化装置は、 スタック指向型アーキテクチュアCPU上でユーザプロ
グラムを実行するとき、レジスタ指向型アーキテクチュ
アCPUの動作を強化するための装置で、 命令処理装置上に位置する1個のレジスタファイルをも
つスタック指向型CPUと、 前記命令処理装置上の1個の命令レジスタと、1個のコ
ードルーチンを実行するための前記命令処理装置上の1
個の制御レジスタと、前記レジスタファイル中の補足的
なアドレスを指し示すデータを生成するために前記レジ
スタファイルと前記命令レジスタとの出力と結合する前
記命令処理装置上の1個のALUと、前記制御レジスタ
と前記ALUとからの信号に応答して、前記レジスタフ
ァイル中のレジスタを指定する補足的なアドレスを生成
するために、前記ALUと前記スタック指向型CPUの
前記レジスタファイルとの間に結合するインデックスレ
ジスタ手段とを有することを特徴とするレジスタ指向型
アーキテクチュアCPUの動作強化装置であるので、 スタック指向型アーキテクチュアCPU上で、レジスタ
指向型アーキテクチュアCPU上で動作するよう設計さ
れたユーザプログラムの実行が可能となる。
【図面の簡単な説明】
第1図は、第2のオペレーティングシステムが動作する
ように設計された第1の計算システムの主要部ブロック
構成図、 第2図は、異なったオペレーティングシステムにより機
能的にみられ、変形された命令処理装置をもつ第1の計
算システムの実記憶メモリとレジスタファイルを示すハ
ードウェアのブロック構成図、 第3図は、本発明の命令コードバッファとレジスタファ
イルとオーバフロー検出と負の結果検出のためのチエツ
ク回路を表す命令処理装置(IP、)に対するハードウ
ェア改造部分の詳細ブロック構成図、 第4図は、第3図で採用され機能追加された制御信号を
表す命令処理装置の別の部分の詳細ブロック構成図、 第5図は、命令コードバッファと6バイト命令バツフア
を4バイト命令バツフアに変換する装置との位置関係を
表す詳細ブロック構成図、そして第6図は、レジスタフ
ァイル中の16個のレジスタの3バンクをアドレッシン
グするための新規インデックスレジスタ装置の詳細ブロ
ック構成図である。 図中、11・・・主記憶、18・・・命令処理装置(I
P)、21・・・命令レジスタ、111 ・Opコード
MUX、112・・・パラメータコードMUX、114
・・・選択MUX、115・・・Aシリーズシーケンス
選択ブロック、116・・・システム80シーケンス選
択ブロックである。

Claims (1)

  1. 【特許請求の範囲】 (1)Nバイト命令ワードCPU上でユーザプログラム
    を実行するとき、Nの数値より小さい値をもつMバイト
    命令ワードCPUの動作を強化する装置であって、 Nバイト命令レジスタをもつNバイト命令ワードCPU
    と、 前記レジスタにNバイトまたはMバイト命令ワードを供
    給するための主記憶メモリと、 1バイト操作コード出力を提供するために前記Nバイト
    命令レジスタにおける前記Mバイトのどこにでも接続可
    能な操作コードMUXと、 パラメータコード出力を提供するために前記Nバイト命
    令レジスタにおける前記Mバイトの残り部分のどこにで
    も接続可能なパラメータコードMUXと、 Nバイト命令ワードCPUをMバイト命令ワードCPU
    に変換するために、前記操作コードMUXと、前記パラ
    メータコードコードMUXとに結合された、Mバイト命
    令ワード動作モードを選択する手段とを備えることを特
    徴とするMバイト命令ワードCPUの動作強化装置。 (2)Mは4バイトと、Nは6バイトと定義することを
    特徴とする請求項第1項に記載のMバイト命令ワードC
    PUの動作強化装置。 (3)前記MUXは4バイトから1バイトまで対応可能
    のMUXとして動作可能であり、前記命令ワードからの
    前記6バイトの中の2バイトが前記MUXによってサー
    チされ順序づけられる請求項第2項に記載のMバイト命
    令ワードCPUの動作強化装置。 (4)前記選択手段が、Mバイト命令モード運用かNバ
    イト命令モード運用のいづれかを選択するために、1個
    のコードアイソレーション入力信号をもつ1個の選択M
    UXからなる請求項第1項に記載のMバイト命令ワード
    CPUの動作強化装置。 (5)さらに、前記操作コードMUXに対してバイト入
    力の順序を選択するために、前記選択MUXの入力と結
    合された1個のMバイトシーケンサと1個のNバイトシ
    ーケンサとを含む請求項第4項に記載のMバイト命令ワ
    ードCPUの動作強化装置。 (6)前記選択MUXにより選択された前記バイトシー
    ケンサが、前記パラメータコードMUXに対してバイト
    入力の順序を選択するために、前記パラメータコードコ
    ードMUXと結合された請求項第5項に記載のMバイト
    命令ワードCPUの動作強化装置。 (7)前記Mバイト命令ワードが1操作コードバイトと
    複数のパラメータコードバイトからなる請求項第1項に
    記載のMバイト命令ワードCPUの動作強化装置。 (8)前記Mバイト命令ワードCPUが、 1個のNバイトレジスタファイルをもつ1個の命令処理
    装置と、 前記命令処理装置によって実行されることとなるMバイ
    ト命令を受信するために、前記命令処理装置において1
    個のNバイト命令レジスタと、コードルーチンの順序を
    制御するために、前記命令処理装置において1個の制御
    レジスタと、前記レジスタファイルの出力と前記Mバイ
    ト命令レジスタ出力とに結合されるALUと、 前記制御レジスタと前記ALUからとの信号への応答に
    おいて、前記レジスタファイル中のレジスタを指定する
    補足的なアドレスを生成するため、前記ALUと、前記
    CPUの前記レジスタファイルとの間で結合されるイン
    デックスレジスタ手段とを有することを特徴とする請求
    項第1項に記載のMバイト命令ワードCPUの動作強化
    装置。 (9)前記インデックスレジスタ手段が前記レジスタフ
    ァイルと結合した複数のインデックスレジスタから成る
    請求項第8項に記載のMバイト命令ワードCPUの動作
    強化装置。(10)さらに、前記インデックスレジスタ
    手段が複数のオペランドバンクレジスタを有する請求項
    第9項に記載のMバイト命令ワードCPUの動作強化装
    置。 (11)さらに、前記インデックスレジスタ手段が、前
    記オペランドバンクレジスタと前記インデックスレジス
    タとの出力と結合した複数のマルチプレクサを有する請
    求項第10項に記載のMバイト命令ワードCPUの動作
    強化装置。 (12)さらに、前記インデックスレジスタ手段が、前
    記レジスタファイル中のレジスタを指す複数のオペラン
    ドアドレスをストアするために、前記オペランドマルチ
    プレクサの出力と結合した1個のアドレスラッチを有す
    る請求項第11項に記載のMバイト命令ワードCPUの
    動作強化装置。 (13)前記インデックスレジスタ手段が、複数のオペ
    ランドバンクレジスタと、前記レジスタファイル中の補
    足的なアドレスを生成するために採用された補足的なビ
    ットを供給するため前記ALUに結合された複数のイン
    デックスレジスタとを有する請求項第11項に記載のM
    バイト命令ワードCPUの動作強化装置。 (14)スタック指向型アーキテクチュアCPU上でユ
    ーザプログラムを実行するとき、レジスタ指向型アーキ
    テクチュアCPUの動作を強化するための装置で、 命令処理装置上に位置する1個のレジスタファイルをも
    つスタック指向型CPUと、 前記命令処理装置上の1個の命令レジスタと、1個のコ
    ードルーチンを実行するための前記命令処理装置上の1
    個の制御レジスタと、 前記レジスタファイル中の補足的なアドレスを指し示す
    データを生成するために前記レジスタファイルと前記命
    令レジスタとの出力と結合する前記命令処理装置上の1
    個のALUと、 前記制御レジスタと前記ALUとからの信号に応答して
    、前記レジスタファイル中のレジスタを指定する補足的
    なアドレスを生成するために、前記ALUと前記スタッ
    ク指向型CPUの前記レジスタファイルとの間に結合す
    るインデックスレジスタ手段とを有することを特徴とす
    るレジスタ指向型アーキテクチュアCPUの動作強化装
    置。
JP2095209A 1989-04-12 1990-04-12 二重オペレーティングシステム計算機の動作強化装置のmバイト命令ワードcpuの動作強化装置及びレジスタ指向型アーキテクチュアcpuの動作強化装置 Pending JPH0380336A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US336,971 1989-04-12
US07/336,971 US5179691A (en) 1989-04-12 1989-04-12 N-byte stack-oriented CPU using a byte-selecting control for enhancing a dual-operation with an M-byte instruction word user program where M<N<2M

Publications (1)

Publication Number Publication Date
JPH0380336A true JPH0380336A (ja) 1991-04-05

Family

ID=23318527

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2095209A Pending JPH0380336A (ja) 1989-04-12 1990-04-12 二重オペレーティングシステム計算機の動作強化装置のmバイト命令ワードcpuの動作強化装置及びレジスタ指向型アーキテクチュアcpuの動作強化装置

Country Status (2)

Country Link
US (1) US5179691A (ja)
JP (1) JPH0380336A (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442769A (en) * 1990-03-13 1995-08-15 At&T Corp. Processor having general registers with subdivisions addressable in instructions by register number and subdivision type
JPH04156613A (ja) * 1990-10-20 1992-05-29 Fujitsu Ltd 命令バッファ装置
US5345568A (en) * 1991-09-19 1994-09-06 Chips And Technologies, Inc. Instruction fetch circuit which allows for independent decoding and execution of instructions
US5590352A (en) * 1994-04-26 1996-12-31 Advanced Micro Devices, Inc. Dependency checking and forwarding of variable width operands
US5758141A (en) * 1995-02-10 1998-05-26 International Business Machines Corporation Method and system for selective support of non-architected instructions within a superscaler processor system utilizing a special access bit within a machine state register
US5812823A (en) * 1996-01-02 1998-09-22 International Business Machines Corporation Method and system for performing an emulation context save and restore that is transparent to the operating system
US5933855A (en) * 1997-03-21 1999-08-03 Rubinstein; Richard Shared, reconfigurable memory architectures for digital signal processing
JP3781519B2 (ja) * 1997-08-20 2006-05-31 富士通株式会社 プロセッサの命令制御機構
EP0942357A3 (en) 1998-03-11 2000-03-22 Matsushita Electric Industrial Co., Ltd. Data processor compatible with a plurality of instruction formats
KR20070083569A (ko) * 2004-08-18 2007-08-24 쟈루나 에스에이 운영체제
US20060277396A1 (en) * 2005-06-06 2006-12-07 Renno Erik K Memory operations in microprocessors with multiple execution modes and register files

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3626374A (en) * 1970-02-10 1971-12-07 Bell Telephone Labor Inc High-speed data-directed information processing system characterized by a plural-module byte-organized memory unit
US4162519A (en) * 1975-01-20 1979-07-24 Nixdorf Computer Ag Data processor with address allocation to operations
US4079451A (en) * 1976-04-07 1978-03-14 Honeywell Information Systems Inc. Word, byte and bit indexed addressing in a data processing system
US4037213A (en) * 1976-04-23 1977-07-19 International Business Machines Corporation Data processor using a four section instruction format for control of multi-operation functions by a single instruction
US4099229A (en) * 1977-02-14 1978-07-04 The United States Of America As Represented By The Secretary Of The Navy Variable architecture digital computer
JPS5464933A (en) * 1977-11-01 1979-05-25 Panafacom Ltd Main storage extension system
CA1114518A (en) * 1977-10-25 1981-12-15 William D. Strecker Central processor unit for executing instructions with a special operand specifier
US4219874A (en) * 1978-03-17 1980-08-26 Gusev Valery Data processing device for variable length multibyte data fields
US4447878A (en) * 1978-05-30 1984-05-08 Intel Corporation Apparatus and method for providing byte and word compatible information transfers
US4236206A (en) * 1978-10-25 1980-11-25 Digital Equipment Corporation Central processor unit for executing instructions of variable length
JPS5569855A (en) * 1978-11-20 1980-05-26 Panafacom Ltd Data processing system
US4347566A (en) * 1978-12-11 1982-08-31 Tokyo Shibaura Denki Kabushiki Kaisha Data processor with register file and arithmetic logic circuit on one chip and register means directly connected to the chip
US4587632A (en) * 1980-05-27 1986-05-06 At&T Bell Laboratories Lookahead stack oriented computer
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor
US4438493A (en) * 1981-07-06 1984-03-20 Honeywell Information Systems Inc. Multiwork memory data storage and addressing technique and apparatus
US4654781A (en) * 1981-10-02 1987-03-31 Raytheon Company Byte addressable memory for variable length instructions and data
WO1984000629A1 (en) * 1982-07-21 1984-02-16 Marconi Avionics Multi-dimensional-access memory system
US4679166A (en) * 1983-01-17 1987-07-07 Tandy Corporation Co-processor combination
US4590556A (en) * 1983-01-17 1986-05-20 Tandy Corporation Co-processor combination
US4569016A (en) * 1983-06-30 1986-02-04 International Business Machines Corporation Mechanism for implementing one machine cycle executable mask and rotate instructions in a primitive instruction set computing system
US4876639A (en) * 1983-09-20 1989-10-24 Mensch Jr William D Method and circuitry for causing sixteen bit microprocessor to execute eight bit op codes to produce either internal sixteen bit operation or internal eight bit operation in accordance with an emulation bit
US4586130A (en) * 1983-10-03 1986-04-29 Digital Equipment Corporation Central processing unit for a digital computer
EP0159699A3 (en) * 1984-04-23 1988-09-28 Nec Corporation A data processor executing microprograms according to a plurality of system architectures
BG39765A1 (en) * 1985-02-14 1986-08-15 Turlakov Device for connecting 8- degree and 16- degree modules to 16- degree microprocessor system
US4736317A (en) * 1985-07-17 1988-04-05 Syracuse University Microprogram-coupled multiple-microprocessor module with 32-bit byte width formed of 8-bit byte width microprocessors
US4747040A (en) * 1985-10-09 1988-05-24 American Telephone & Telegraph Company Dual operating system computer
JPS62103893A (ja) * 1985-10-30 1987-05-14 Toshiba Corp 半導体メモリ及び半導体メモリシステム
US4831514A (en) * 1986-02-14 1989-05-16 Dso "Izot" Method and device for connecting a 16-bit microprocessor to 8-bit modules
DE3751503T2 (de) * 1986-03-26 1996-05-09 Hitachi Ltd Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen.
US4890218A (en) * 1986-07-02 1989-12-26 Raytheon Company Variable length instruction decoding apparatus having cross coupled first and second microengines
US4766566A (en) * 1986-08-18 1988-08-23 International Business Machines Corp. Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing
JP2675779B2 (ja) * 1987-01-12 1997-11-12 沖電気工業株式会社 命令解読装置
US5083267A (en) * 1987-05-01 1992-01-21 Hewlett-Packard Company Horizontal computer having register multiconnect for execution of an instruction loop with recurrance
US4975835A (en) * 1987-10-30 1990-12-04 Casio Computer Co., Ltd. Variable length data processing apparatus for consecutively processing variable-length data responsive to one instruction

Also Published As

Publication number Publication date
US5179691A (en) 1993-01-12

Similar Documents

Publication Publication Date Title
TWI407366B (zh) 具有微代碼之微處理器、在微處理器中儲存資料的方法、以及使用於計算裝置之電腦程式產品
US4589065A (en) Mechanism for implementing one machine cycle executable trap instructions in a primitive instruction set computing system
US5438670A (en) Method of prechecking the validity of a write access request
EP0464494B1 (en) A high performance pipelined emulator
KR100190252B1 (ko) 고속 프로세서에서의 브랜치 처리 방법 및 장치
EP0747808A2 (en) Processor capable of supporting two distinct instruction set architectures
JP2002512399A (ja) 外部コプロセッサによりアクセス可能なコンテキストスイッチレジスタセットを備えたriscプロセッサ
US5263153A (en) Monitoring control flow in a microprocessor
JPH02190930A (ja) ソフトウエア命令実行装置
CA2045934A1 (en) Ensuring date integrity in multiprocessor or pipelined processor system
JPH0215369A (ja) ベクター処理システムの命令を実行する方法及び装置
JPH07210381A (ja) プロセッサ及びコンピュータ・システム
JP3707581B2 (ja) 自己整合スタック・ポインタを有するデータ処理システムおよびその方法
JPH0380336A (ja) 二重オペレーティングシステム計算機の動作強化装置のmバイト命令ワードcpuの動作強化装置及びレジスタ指向型アーキテクチュアcpuの動作強化装置
JPH06161893A (ja) メモリアクセス方法およびシステム
US5280592A (en) Domain interlock
JP2002215387A (ja) 命令トランスレータを備えたデータ処理装置およびメモリインタフェース装置
US5333287A (en) System for executing microinstruction routines by using hardware to calculate initialization parameters required therefore based upon processor status and control parameters
US5742755A (en) Error-handling circuit and method for memory address alignment double fault
JP3716604B2 (ja) 情報処理装置
US5363490A (en) Apparatus for and method of conditionally aborting an instruction within a pipelined architecture
EP0301707B1 (en) Apparatus and method for providing an extended processing environment on nonmicrocoded data processing system
EP0374526A2 (en) Op branching for starting micro-routines
JPS6273333A (ja) エミュレーション制御装置
JP3105110B2 (ja) 演算装置