JPS62536B2 - - Google Patents
Info
- Publication number
- JPS62536B2 JPS62536B2 JP57022189A JP2218982A JPS62536B2 JP S62536 B2 JPS62536 B2 JP S62536B2 JP 57022189 A JP57022189 A JP 57022189A JP 2218982 A JP2218982 A JP 2218982A JP S62536 B2 JPS62536 B2 JP S62536B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- data stream
- field
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】
本発明はプログラム記憶式データ処理システム
に係り、更に詳細に説明すれば命令実行中に命令
レジスタの内容を変更することに係る。
に係り、更に詳細に説明すれば命令実行中に命令
レジスタの内容を変更することに係る。
本発明に関係する米国特許第3585599号及び第
4200927号明細書には、IBMシステム/370のアー
キテクチヤに従つて設計されたデータ処理システ
ムが記述されている。また刊行物である“IBM
System/370 Principles of Operations”、Form
No.GA22−7000−4には、IBMシステム/370の
アーキテクチヤが記述されている。
4200927号明細書には、IBMシステム/370のアー
キテクチヤに従つて設計されたデータ処理システ
ムが記述されている。また刊行物である“IBM
System/370 Principles of Operations”、Form
No.GA22−7000−4には、IBMシステム/370の
アーキテクチヤが記述されている。
これらの刊行物に記述されているデータ処理シ
ステムが設計されたのは、IBMシステム/370の
アーキテクチヤが実行のために解読及び解釈され
ねばならない所定数の命令様式を含んでいたとき
である。しかしながら、これらのデータ処理シス
テムが設計された後にIBMシステム/370の新し
い命令様式が定義されるに及んで、かかるデータ
処理システムに設けられた命令レジスタの種々の
命令フイールドから他の部分に至る転送路は新し
い命令様式に簡単に適応することができなくなつ
た。そうするためには、データ処理システムの設
計を実質的に変更するか又はマイクロプログラム
制御を実質的に変更しなければならないからであ
る。
ステムが設計されたのは、IBMシステム/370の
アーキテクチヤが実行のために解読及び解釈され
ねばならない所定数の命令様式を含んでいたとき
である。しかしながら、これらのデータ処理シス
テムが設計された後にIBMシステム/370の新し
い命令様式が定義されるに及んで、かかるデータ
処理システムに設けられた命令レジスタの種々の
命令フイールドから他の部分に至る転送路は新し
い命令様式に簡単に適応することができなくなつ
た。そうするためには、データ処理システムの設
計を実質的に変更するか又はマイクロプログラム
制御を実質的に変更しなければならないからであ
る。
前掲の米国特許第4200927号明細書に記述され
ている如き大型のデータ処理システムでは、命令
ユニツト中の命令レジスタの或るフイールドと実
行ユニツト中の対応するオペレーシヨン・レジス
タとの間に転送路が存在する。しかしながら、こ
の転送路を使用すると、新しい命令様式で再配置
された情報部分は実行ユニツト中のオペレーシヨ
ン・レジスタの異なる部分へ転送されるから、こ
の情報部分を命令レジスタから実行ユニツト中の
オペレーシヨン・レジスタへ適正に転送するため
には追加のケーブルが必要となろう。さらに、殆
んどすべてのデータ処理システムはその動作中又
は初期の開発設計段階中に永久的エラー条件を生
ずるが、このようなデータ処理システムの故障ハ
ードウエアを迂回したり或いは修理中又は再設計
中の継続的使用を可能とすためにデータ処理シス
テムの動作を変更することは比較的困難である、
ということがある。またデータ処理システムに対
する他の要請として、特定ユーザのために特別の
機能を提供するということがある。もしこの特別
の機能が既存のプログラム命令によつて遂行不能
であれば、新しいプログラム、マイクロプログラ
ム、命令又はハードウエアの変更が必要となろ
う。
ている如き大型のデータ処理システムでは、命令
ユニツト中の命令レジスタの或るフイールドと実
行ユニツト中の対応するオペレーシヨン・レジス
タとの間に転送路が存在する。しかしながら、こ
の転送路を使用すると、新しい命令様式で再配置
された情報部分は実行ユニツト中のオペレーシヨ
ン・レジスタの異なる部分へ転送されるから、こ
の情報部分を命令レジスタから実行ユニツト中の
オペレーシヨン・レジスタへ適正に転送するため
には追加のケーブルが必要となろう。さらに、殆
んどすべてのデータ処理システムはその動作中又
は初期の開発設計段階中に永久的エラー条件を生
ずるが、このようなデータ処理システムの故障ハ
ードウエアを迂回したり或いは修理中又は再設計
中の継続的使用を可能とすためにデータ処理シス
テムの動作を変更することは比較的困難である、
ということがある。またデータ処理システムに対
する他の要請として、特定ユーザのために特別の
機能を提供するということがある。もしこの特別
の機能が既存のプログラム命令によつて遂行不能
であれば、新しいプログラム、マイクロプログラ
ム、命令又はハードウエアの変更が必要となろ
う。
本発明の目的は、エラー条件、特別の機能又は
新しい命令等の変更要因に適応可能な改良された
プログラム記憶式データ処理システムを提供する
ことにある。
新しい命令等の変更要因に適応可能な改良された
プログラム記憶式データ処理システムを提供する
ことにある。
この目的を達成するため、データ処理システム
の中央処理ユニツト(CPU)に設けられた命令
レジスタとデータ流経路との間に1つの転送路が
追加される。前記のデータ流経路は命令レジスタ
の内容を受取ることができる、少くとも1つのデ
ータ流レジスタを含む。前記の追加された転送路
は1組のゲートを含み、こられのゲートは少くと
も命令レジスタの或るフイールドに対する入力を
与える。CPUの制御機構は、データ流レジスタ
の内容のうち少くとも或る部分を前記ゲートを介
して命令レジスタの入力へ転送させるような能力
を有する。データ流レジスタは命令レジスタから
の情報を受取るだけでなく、制御機構又はデータ
流の他の部分からの情報を通常のデータ処理の一
部として受取ることができる。データ流レジスタ
に記憶された情報は、その後で命令レジスタの入
力ゲートへ転送することができる。
の中央処理ユニツト(CPU)に設けられた命令
レジスタとデータ流経路との間に1つの転送路が
追加される。前記のデータ流経路は命令レジスタ
の内容を受取ることができる、少くとも1つのデ
ータ流レジスタを含む。前記の追加された転送路
は1組のゲートを含み、こられのゲートは少くと
も命令レジスタの或るフイールドに対する入力を
与える。CPUの制御機構は、データ流レジスタ
の内容のうち少くとも或る部分を前記ゲートを介
して命令レジスタの入力へ転送させるような能力
を有する。データ流レジスタは命令レジスタから
の情報を受取るだけでなく、制御機構又はデータ
流の他の部分からの情報を通常のデータ処理の一
部として受取ることができる。データ流レジスタ
に記憶された情報は、その後で命令レジスタの入
力ゲートへ転送することができる。
データ処理システムの命令レジスタにある符号
化された命令コード(OP)フイールドは、当該
命令の実行を開始させるために制御機構によつて
利用される。命令実行中に命令レジスタ中の命令
コード・フイールドを選択的に変更する能力を備
えていると、他の命令実行の一部として当該命令
コード・フイールドに応答するように既存の制御
機構を利用することができる。
化された命令コード(OP)フイールドは、当該
命令の実行を開始させるために制御機構によつて
利用される。命令実行中に命令レジスタ中の命令
コード・フイールドを選択的に変更する能力を備
えていると、他の命令実行の一部として当該命令
コード・フイールドに応答するように既存の制御
機構を利用することができる。
また命令レジスタの内容をデータ流レジスタへ
転送する能力を備えることにより、新しい命令様
式にも簡単に適応することができる。もし既存の
命令のフイールドが新しい様式の命令中で再配置
されているならば、この新しい様式の命令はデー
タ流レジスタへ転送され、そして関係するフイー
ルドは命令レジスタの既存の出力ゲート又は命令
レジスタへ接続された制御手段によつて使用する
ために命令レジスタ中の元の位置へ戻される。
転送する能力を備えることにより、新しい命令様
式にも簡単に適応することができる。もし既存の
命令のフイールドが新しい様式の命令中で再配置
されているならば、この新しい様式の命令はデー
タ流レジスタへ転送され、そして関係するフイー
ルドは命令レジスタの既存の出力ゲート又は命令
レジスタへ接続された制御手段によつて使用する
ために命令レジスタ中の元の位置へ戻される。
第1図は代表的なデータ処理システムのブロツ
ク図である。このシステムは主記憶(MS)10
を含み、これは処理すべきデータ及び種々のプロ
グラムを構成する命令シーケンスを保持する。中
央処理ユニツト(CPU)はその主要ユニツトと
して命令ユニツト11及び実行ユニツト12を含
む。前掲の米国特許第3585599号明細書に記述さ
れているシステムはその主要ユニツトとして命令
ユニツト11のみを含み、そこですべての命令が
実行される。一方、前掲の米国特許第4200927号
明細書に記述されているシステムは、命令ユニツ
ト11及び実行ユニツトを別々に含んでいる。し
かし、いずれのシステムも命令レジスタ13を含
み、これは主記憶10から転送路14を介して
IBMシステム/370の命令のシーケンスを受取
る。またこの転送路14は、CPUと主記憶10
の間でテータを転送する。
ク図である。このシステムは主記憶(MS)10
を含み、これは処理すべきデータ及び種々のプロ
グラムを構成する命令シーケンスを保持する。中
央処理ユニツト(CPU)はその主要ユニツトと
して命令ユニツト11及び実行ユニツト12を含
む。前掲の米国特許第3585599号明細書に記述さ
れているシステムはその主要ユニツトとして命令
ユニツト11のみを含み、そこですべての命令が
実行される。一方、前掲の米国特許第4200927号
明細書に記述されているシステムは、命令ユニツ
ト11及び実行ユニツトを別々に含んでいる。し
かし、いずれのシステムも命令レジスタ13を含
み、これは主記憶10から転送路14を介して
IBMシステム/370の命令のシーケンスを受取
る。またこの転送路14は、CPUと主記憶10
の間でテータを転送する。
IBMシステム/370のアーキテクチヤに従つて
設計された殆んどのデータ処理システムでは、命
令レジスタ13は32ビツトから成る。そのビツト
位置0−7は命令コード(OP)フイールド15
を構成し、これは制御機構(CTL)16によつ
て遂行さるべき実行シーケンスを指示するように
符号化される。
設計された殆んどのデータ処理システムでは、命
令レジスタ13は32ビツトから成る。そのビツト
位置0−7は命令コード(OP)フイールド15
を構成し、これは制御機構(CTL)16によつ
て遂行さるべき実行シーケンスを指示するように
符号化される。
また代表的なデータ処理システムのCPUは、
2進加算器17及び複数の作業レジスタ(WR)
18に加えて16個の汎用レジスタ(GPR)19
を含む。前掲の刊行物である“IBM System/
370 Principles of Operations”に記述されてい
るように、これらの汎用レジスタ19は命令レジ
スタ13に置かれた命令の1つ又はそれ以上の4
ビツト・フイールド(R1,R2)によつて指定
することができる。データ流回路20は制御機構
16からの適当な制御信号によつて付勢可能な複
数のゲートを含み、データ処理システム中の種々
のユニツトを相互接続する。
2進加算器17及び複数の作業レジスタ(WR)
18に加えて16個の汎用レジスタ(GPR)19
を含む。前掲の刊行物である“IBM System/
370 Principles of Operations”に記述されてい
るように、これらの汎用レジスタ19は命令レジ
スタ13に置かれた命令の1つ又はそれ以上の4
ビツト・フイールド(R1,R2)によつて指定
することができる。データ流回路20は制御機構
16からの適当な制御信号によつて付勢可能な複
数のゲートを含み、データ処理システム中の種々
のユニツトを相互接続する。
第1図の命令ユニツト11に関連して説明した
前記ユニツトのすべては、前掲の米国特許第
3585599号明細書で記述されている。この特許で
は、制御機構16はマイクロプログラム制御記憶
から成り、該制御記憶は命令コード・フイールド
15に応答して要求された動作を遂行するに必要
な制御信号21を発生する。当該技術分野では周
知のように、制御機構16は必要な制御信号21
を発生するような1群の固定結線式シーケンサで
もよい。
前記ユニツトのすべては、前掲の米国特許第
3585599号明細書で記述されている。この特許で
は、制御機構16はマイクロプログラム制御記憶
から成り、該制御記憶は命令コード・フイールド
15に応答して要求された動作を遂行するに必要
な制御信号21を発生する。当該技術分野では周
知のように、制御機構16は必要な制御信号21
を発生するような1群の固定結線式シーケンサで
もよい。
前掲の米国特許第4200927号明細書が別個の実
行ユニツト12を示していることは前述の通りで
ある。このように別個の2ユニツトを有するデー
タ処理システムでは、命令ユニツト11は殆んど
の2進算術命令及び多数の制御命令を含むIBMシ
ステム/370の多数の命令を実行することができ
る。これとは別個の実行ユニツト12は、IBMシ
ステム/370の一層複雑な命令を実行するために
設けられる。たとえば、実行ユニツト12には、
浮動小数点加算器22、2進又は浮動小数点乗除
算のための特別の乗除算器(MULT/DIV)2
3、多数の浮動小数点レジスタ(FPR)24及
びこれらのユニツトを相互接続するデータ流回路
25が含まれる。浮動小数点レジスタ24は、命
令中のR1及びR2の如き4ビツト・フイールド
によつて指定することができる。
行ユニツト12を示していることは前述の通りで
ある。このように別個の2ユニツトを有するデー
タ処理システムでは、命令ユニツト11は殆んど
の2進算術命令及び多数の制御命令を含むIBMシ
ステム/370の多数の命令を実行することができ
る。これとは別個の実行ユニツト12は、IBMシ
ステム/370の一層複雑な命令を実行するために
設けられる。たとえば、実行ユニツト12には、
浮動小数点加算器22、2進又は浮動小数点乗除
算のための特別の乗除算器(MULT/DIV)2
3、多数の浮動小数点レジスタ(FPR)24及
びこれらのユニツトを相互接続するデータ流回路
25が含まれる。浮動小数点レジスタ24は、命
令中のR1及びR2の如き4ビツト・フイールド
によつて指定することができる。
第1図に示すように別個の実行ユニツト12が
設けられているデータ処理システムでは、命令ユ
ニツト11中の制御機構16が実行ユニツト12
による実行を要求する如き命令コード・フイール
ド15を検出する。この場合、制御機構16から
の制御信号26に応答して、命令レジスタ13の
ビツト0−15が線27を介して実行ユニツト12
中のオペレーシヨン・レジスタ28へ転送され
る。浮動小数点演算で利用すべき浮動小数点レジ
スタ24は、命令レジスタ13からオペレーシヨ
ン・レジスタ28へ転送されるR1及びR2フイ
ールドによつて指定される。命令ユニツト11に
おけるのと同様に、オペレーシヨン・レジスタ2
8中の命令コード・フイールド29は要求された
動作を遂行するために実行ユニツト12中の制御
機構(CTL)30へ転送される。この制御機構
30は実行ユニツト12中の諸ユニツトを制御す
るに必要な制御信号31を発生する。制御機構3
0は、固定結線式シーケンサ又は制御記憶中のマ
イクロプログラム命令として設計することができ
る。
設けられているデータ処理システムでは、命令ユ
ニツト11中の制御機構16が実行ユニツト12
による実行を要求する如き命令コード・フイール
ド15を検出する。この場合、制御機構16から
の制御信号26に応答して、命令レジスタ13の
ビツト0−15が線27を介して実行ユニツト12
中のオペレーシヨン・レジスタ28へ転送され
る。浮動小数点演算で利用すべき浮動小数点レジ
スタ24は、命令レジスタ13からオペレーシヨ
ン・レジスタ28へ転送されるR1及びR2フイ
ールドによつて指定される。命令ユニツト11に
おけるのと同様に、オペレーシヨン・レジスタ2
8中の命令コード・フイールド29は要求された
動作を遂行するために実行ユニツト12中の制御
機構(CTL)30へ転送される。この制御機構
30は実行ユニツト12中の諸ユニツトを制御す
るに必要な制御信号31を発生する。制御機構3
0は、固定結線式シーケンサ又は制御記憶中のマ
イクロプログラム命令として設計することができ
る。
第2図には本発明の要部が示されている。命令
レジスタ13は第1図のものと同様に32ビツトの
入力14を有する。また第2図には、IBMシステ
ム/370の3つの命令様式が示されており、その
うちRR様式は参照番号32の箇所に示されてい
る。このRR様式では、命令は8ビツトの命令コ
ード・フイールド15と2つの4ビツト・フイー
ルドR1及びR2を有し、後者のR1及びR2フ
イールドは当該命令の実行に利用されるデータを
得るために1対の汎用レジスタをそれぞれ指定す
る。参照番号33の箇所に示されているRX様式で
は、命令は8ビツトの命令コード・フイールド1
5及び4ビツト・フイールドR1を有し、後者の
R1フイールドは実行中に利用され且つ結果を記
憶するために利用される1つの汎用レジスタを指
定する。RX様式33の他のフイールドは、第1
図に示した主記憶10のアドレスを発生するため
に利用される。即ち、X2フイールドはアドレス
指標値を保持する1つの汎用レジスタを指定し、
B2フイールドは基底アドレス値を保持する1つ
の汎用レジスタを指定し、12ビツトのD2フイー
ルドは変位アドレス値である。X2及びB2フイ
ールドによつて指定された1対の汎用レジスタの
内容はD2フイールドの変位アドレレス値と加算
され、かくて当該命令の実行に利用されるデータ
が置かれている主記憶10中のアドレスを与え
る。参照番号34の箇所に示されているIBMシステ
ム/370の命令様式は、RRE様式と呼ばれる。こ
の様式では、命令コード・フイールド38はビツ
ト0−15から成り、アドレス可能なレジスタは命
令レジスタ13のビツト位置24−31に置かれたR
1及びR2フイールドによつて指定される。
レジスタ13は第1図のものと同様に32ビツトの
入力14を有する。また第2図には、IBMシステ
ム/370の3つの命令様式が示されており、その
うちRR様式は参照番号32の箇所に示されてい
る。このRR様式では、命令は8ビツトの命令コ
ード・フイールド15と2つの4ビツト・フイー
ルドR1及びR2を有し、後者のR1及びR2フ
イールドは当該命令の実行に利用されるデータを
得るために1対の汎用レジスタをそれぞれ指定す
る。参照番号33の箇所に示されているRX様式で
は、命令は8ビツトの命令コード・フイールド1
5及び4ビツト・フイールドR1を有し、後者の
R1フイールドは実行中に利用され且つ結果を記
憶するために利用される1つの汎用レジスタを指
定する。RX様式33の他のフイールドは、第1
図に示した主記憶10のアドレスを発生するため
に利用される。即ち、X2フイールドはアドレス
指標値を保持する1つの汎用レジスタを指定し、
B2フイールドは基底アドレス値を保持する1つ
の汎用レジスタを指定し、12ビツトのD2フイー
ルドは変位アドレス値である。X2及びB2フイ
ールドによつて指定された1対の汎用レジスタの
内容はD2フイールドの変位アドレレス値と加算
され、かくて当該命令の実行に利用されるデータ
が置かれている主記憶10中のアドレスを与え
る。参照番号34の箇所に示されているIBMシステ
ム/370の命令様式は、RRE様式と呼ばれる。こ
の様式では、命令コード・フイールド38はビツ
ト0−15から成り、アドレス可能なレジスタは命
令レジスタ13のビツト位置24−31に置かれたR
1及びR2フイールドによつて指定される。
第2図に示されたケーブル35は、命令レジス
タ13のビツト位置0−7に置かれた命令コー
ド・フイールドを、第1図の制御機構16へ接続
するためのものである。命令レジスタ13の出力
へ接続された他のゲート群は、命令でアドレス可
能な特定のレジスタをアクセスするために、命令
中のレジスタ・アドレス用フイールドをケーブル
36を介して転送する。前掲の米国特許第
4200927号明細書の記述に従つて、また第1図に
関連して既に説明したように、第1図の制御信号
26は参照番号37の箇所に示した16個のゲートを
付勢し、かくてビツト位置0−15の内容をケーブ
ル27を介して実行ユニツト12中のオペレーシ
ヨン・レジスタ28へ並列に転送することを可能
にする。
タ13のビツト位置0−7に置かれた命令コー
ド・フイールドを、第1図の制御機構16へ接続
するためのものである。命令レジスタ13の出力
へ接続された他のゲート群は、命令でアドレス可
能な特定のレジスタをアクセスするために、命令
中のレジスタ・アドレス用フイールドをケーブル
36を介して転送する。前掲の米国特許第
4200927号明細書の記述に従つて、また第1図に
関連して既に説明したように、第1図の制御信号
26は参照番号37の箇所に示した16個のゲートを
付勢し、かくてビツト位置0−15の内容をケーブ
ル27を介して実行ユニツト12中のオペレーシ
ヨン・レジスタ28へ並列に転送することを可能
にする。
前掲の米国特許第4200927号明細書で記述され
たデータ処理システムでは、RR様式の命令32
は第1図の浮動小数点レジスタ24のうち指定さ
れたものを含む浮動小数点演算を開始させるため
に利用される。命令レジスタ13と実行ユニツト
12のオペレーシヨン・レジスタ28との間に設
けられた転送路27は、命令32のR1及びR2
フイールドを実行ユニツト12へ転送するために
使用される。しかしながら、かかる既存のデータ
処理システムの設計後に16ビツトの命令コード・
フイールド38を含むRRE様式の命令34が定
義され、そして浮動小数点レジスタ24をアクセ
スするためのR1及びR2フイールドがビツト位
置24−31へ再配置されたために、前記既存のデー
タ処理システムでこれらのR1及びR2フイール
ドを実行ユニツト12へ転送しようとすれば、点
線39によつて暗示されているようなゲート及び
転送路を設けることが必要となる筈である。
たデータ処理システムでは、RR様式の命令32
は第1図の浮動小数点レジスタ24のうち指定さ
れたものを含む浮動小数点演算を開始させるため
に利用される。命令レジスタ13と実行ユニツト
12のオペレーシヨン・レジスタ28との間に設
けられた転送路27は、命令32のR1及びR2
フイールドを実行ユニツト12へ転送するために
使用される。しかしながら、かかる既存のデータ
処理システムの設計後に16ビツトの命令コード・
フイールド38を含むRRE様式の命令34が定
義され、そして浮動小数点レジスタ24をアクセ
スするためのR1及びR2フイールドがビツト位
置24−31へ再配置されたために、前記既存のデー
タ処理システムでこれらのR1及びR2フイール
ドを実行ユニツト12へ転送しようとすれば、点
線39によつて暗示されているようなゲート及び
転送路を設けることが必要となる筈である。
これに対し、本発明は、命令レジスタ13と
CPUの他の部分の間に新しい転送路を設ける、
というこのような接近法を不要にするものであ
る。このため、命令レジスタ13と第1図に示し
た1組の作業レジスタ18を構成する少くとも1
つのデータ流レジスタ40との間に1つの転送路
が編入される。作業レジスタ18は制御機構16
によつてアクセスすることはできるが、命令によ
つてはアクセスすることができない。この転送路
はそれに関連するゲートとともに第1図に示した
制御機構16の制御下にあり、該制御機構の順序
づけは命令コード・フイールドを線35を介して
転送することによつて開始される。
CPUの他の部分の間に新しい転送路を設ける、
というこのような接近法を不要にするものであ
る。このため、命令レジスタ13と第1図に示し
た1組の作業レジスタ18を構成する少くとも1
つのデータ流レジスタ40との間に1つの転送路
が編入される。作業レジスタ18は制御機構16
によつてアクセスすることはできるが、命令によ
つてはアクセスすることができない。この転送路
はそれに関連するゲートとともに第1図に示した
制御機構16の制御下にあり、該制御機構の順序
づけは命令コード・フイールドを線35を介して
転送することによつて開始される。
この転送路は、データ流レジスタ40のビツト
位置24−31の出力を入力ゲート42及び43の入
力へ接続する線41を含む。入力ゲート42及び
43は、その出力を命令レジスタ13のビツト位
置0−7及び8−15へそれぞれ接続されている。
入力ゲート42及び43は、制御機構16からの
信号線44及び45によつてそれぞれ選択的に付
勢されうる。従つて、データ流レジスタ40のビ
ツト位置24−31の内容は、命令レジスタ13のビ
ツト位置0−7又か8−15へ選択的に転送されう
る。
位置24−31の出力を入力ゲート42及び43の入
力へ接続する線41を含む。入力ゲート42及び
43は、その出力を命令レジスタ13のビツト位
置0−7及び8−15へそれぞれ接続されている。
入力ゲート42及び43は、制御機構16からの
信号線44及び45によつてそれぞれ選択的に付
勢されうる。従つて、データ流レジスタ40のビ
ツト位置24−31の内容は、命令レジスタ13のビ
ツト位置0−7又か8−15へ選択的に転送されう
る。
命令レジスタ13の1組の出力ゲート46が制
御機構16からの線47によつて付勢されると、
該命令レジスタのビツト位置16−31及びビツト位
置8−15の内容をデータ流レジスタ40のビツト
位置8−31へ転送することができる。この時点
で、RRE様式の命令34のR1及びR2フイー
ルドが前記転送路によつて実行ユニツト12のオ
ペレーシヨン・レジスタ28へ転送されることは
明らかである。即ち、制御機構16が線35を介
してRRE様式の命令34を検出する場合、命令
レジスタ13のビツト位置8−31の内容はゲート
46を介してデータ流レジスタ40へ転送され
る。次いで、制御機構16は線45の信号によつ
てゲート43を付勢することにより、データ流レ
ジスタ40のビツト位置24−31の内容を線41を
介して命令レジスタ13のビツト位置8−15へ転
送する。さらに、制御機構16は信号線26を介
してゲート37を付勢し、かくてR1及びR2フ
イールドを実行ユニツト12のオペレーシヨン・
レジスタ28へ転送するのである。
御機構16からの線47によつて付勢されると、
該命令レジスタのビツト位置16−31及びビツト位
置8−15の内容をデータ流レジスタ40のビツト
位置8−31へ転送することができる。この時点
で、RRE様式の命令34のR1及びR2フイー
ルドが前記転送路によつて実行ユニツト12のオ
ペレーシヨン・レジスタ28へ転送されることは
明らかである。即ち、制御機構16が線35を介
してRRE様式の命令34を検出する場合、命令
レジスタ13のビツト位置8−31の内容はゲート
46を介してデータ流レジスタ40へ転送され
る。次いで、制御機構16は線45の信号によつ
てゲート43を付勢することにより、データ流レ
ジスタ40のビツト位置24−31の内容を線41を
介して命令レジスタ13のビツト位置8−15へ転
送する。さらに、制御機構16は信号線26を介
してゲート37を付勢し、かくてR1及びR2フ
イールドを実行ユニツト12のオペレーシヨン・
レジスタ28へ転送するのである。
制御機構16からの信号線49によつて付勢さ
れる1組のゲート48は、データ流中にある多数
の源のうち任意のもの、たとえば他のハードウエ
ア・レジスタ、シフタを含む算術論理ユニツト
(ALU)の出力又はマイクロ命令フイールドから
の情報を、データ流レジスタ40へ転送するため
のものである。線50はデータ流レジスタ40を
前述の如きデータ流又はALUへ接続する。従つ
て、データ流は任意の形式のデータをデータ流レ
ジスタ40のビツト位置24−31へ移動することが
できる。前掲の米国特許第3585599号明細書に記
述されているマイクロ命令の少くとも1つのフイ
ールドは、EMITフイールドと呼ばれる。マイク
ロプログラミングの順序づけは、マイクロ命令中
のEMITフイールドからCPUのデータ流へ制御又
はデータ信号を転送する能力を有する、従つて、
データ流レジスタ40へ、特にそのビツト位置24
−31へ情報を挿入し、その後この情報を線41及
びゲート42又び43を介して命令レジスタ13
へ転送することができる。
れる1組のゲート48は、データ流中にある多数
の源のうち任意のもの、たとえば他のハードウエ
ア・レジスタ、シフタを含む算術論理ユニツト
(ALU)の出力又はマイクロ命令フイールドから
の情報を、データ流レジスタ40へ転送するため
のものである。線50はデータ流レジスタ40を
前述の如きデータ流又はALUへ接続する。従つ
て、データ流は任意の形式のデータをデータ流レ
ジスタ40のビツト位置24−31へ移動することが
できる。前掲の米国特許第3585599号明細書に記
述されているマイクロ命令の少くとも1つのフイ
ールドは、EMITフイールドと呼ばれる。マイク
ロプログラミングの順序づけは、マイクロ命令中
のEMITフイールドからCPUのデータ流へ制御又
はデータ信号を転送する能力を有する、従つて、
データ流レジスタ40へ、特にそのビツト位置24
−31へ情報を挿入し、その後この情報を線41及
びゲート42又び43を介して命令レジスタ13
へ転送することができる。
前述の如く、本発明は命令レジスタ13に置か
れた命令のフイールドを、データ流レジスタ40
並びにゲート42及び43を介して、命令レジス
タ13の他のフイールドへ再配置するという能力
を有するが、本発明を利用すると他の幾つかの利
点をも享受することができる。たとえば、IBMシ
ステム/370の任意の命令によつては与えること
ができないような特別の処理機能をデータ処理シ
ステムに備えることが望ましい場合がある。こう
するためには、特別の命令を命令コード・フイー
ルド15で符号化し、そしてこの命令が第1図の
制御機構16によつて検出されるとき、この命令
を実行するために実行ユニツト12の或る機構の
支援を要請するようにすればよい。即ち、制御機
構16によつてこの特別の命令を実行する間に、
特定のマイクロ命令のEMITフイールドをゲート
48を介してデータ流レジスタ40へ転送し、こ
れを線41及びゲート42を介して命令レジスタ
13のビツト位置0−7へ転送するようにする。
EMITフイールドは、たとえば浮動小数点乗算を
指定するようなビツト・パターンへ符号化してお
く。かくて、線26の信号でゲート37を付勢す
ると、浮動小数点乗算の命令コードが実行ユニツ
ト12のオペレーシヨン・レジスタ28へ転送さ
れるので、浮動小数点乗算が遂行され、そしてそ
の実行結果が命令ユニツト11へ戻されることに
なる。
れた命令のフイールドを、データ流レジスタ40
並びにゲート42及び43を介して、命令レジス
タ13の他のフイールドへ再配置するという能力
を有するが、本発明を利用すると他の幾つかの利
点をも享受することができる。たとえば、IBMシ
ステム/370の任意の命令によつては与えること
ができないような特別の処理機能をデータ処理シ
ステムに備えることが望ましい場合がある。こう
するためには、特別の命令を命令コード・フイー
ルド15で符号化し、そしてこの命令が第1図の
制御機構16によつて検出されるとき、この命令
を実行するために実行ユニツト12の或る機構の
支援を要請するようにすればよい。即ち、制御機
構16によつてこの特別の命令を実行する間に、
特定のマイクロ命令のEMITフイールドをゲート
48を介してデータ流レジスタ40へ転送し、こ
れを線41及びゲート42を介して命令レジスタ
13のビツト位置0−7へ転送するようにする。
EMITフイールドは、たとえば浮動小数点乗算を
指定するようなビツト・パターンへ符号化してお
く。かくて、線26の信号でゲート37を付勢す
ると、浮動小数点乗算の命令コードが実行ユニツ
ト12のオペレーシヨン・レジスタ28へ転送さ
れるので、浮動小数点乗算が遂行され、そしてそ
の実行結果が命令ユニツト11へ戻されることに
なる。
データ処理システムについて利用することがで
きる他の望ましい特徴は、実行ユニツト12中の
マイクロプログラム又はハードウエアが誤動作し
たときに訂正作用を許容するというものである。
この特徴を利用することができる所以は、データ
流からの所望のデータを命令レジスタ13の命令
コード・フイールド15へゲートすることができ
るという点にある。このため、第1図の実行ユニ
ツト12でそのハードウエアが機能していないこ
とが決定された場合、その機能が実行ユニツト1
2で遂行されるように或る命令が生ぜられる。制
御機構16は実行ユニツト12で実行不能な命令
コードを認識し、実行ユニツト12で機能してい
るハードウエアによつて実行可能な代替的な命令
コードをデータ流レジスタ40、データ路41及
びゲート42を介して命令レジスタ13の命令コ
ード・フイールド15へ転送するように構成され
る。
きる他の望ましい特徴は、実行ユニツト12中の
マイクロプログラム又はハードウエアが誤動作し
たときに訂正作用を許容するというものである。
この特徴を利用することができる所以は、データ
流からの所望のデータを命令レジスタ13の命令
コード・フイールド15へゲートすることができ
るという点にある。このため、第1図の実行ユニ
ツト12でそのハードウエアが機能していないこ
とが決定された場合、その機能が実行ユニツト1
2で遂行されるように或る命令が生ぜられる。制
御機構16は実行ユニツト12で実行不能な命令
コードを認識し、実行ユニツト12で機能してい
るハードウエアによつて実行可能な代替的な命令
コードをデータ流レジスタ40、データ路41及
びゲート42を介して命令レジスタ13の命令コ
ード・フイールド15へ転送するように構成され
る。
前述の如く、データ処理システムの命令レジス
タとデータ流との間に転送路を設けることによ
り、該データ処理システムの融通性を一層増進す
ることができる。この相互接続は、以前に解読さ
れた命令の実行中に当該データ処理システムの機
能を修正するべく、命令レジスタの所望のフイー
ルドへ情報をゲートすることができる。
タとデータ流との間に転送路を設けることによ
り、該データ処理システムの融通性を一層増進す
ることができる。この相互接続は、以前に解読さ
れた命令の実行中に当該データ処理システムの機
能を修正するべく、命令レジスタの所望のフイー
ルドへ情報をゲートすることができる。
第1図は代表的なプログラム記憶式データ処理
システムの中央処理ユニツトに設けられた命令レ
ジスタと他の機能ユニツトとの関係を示すブロツ
ク図、第2図は本発明の転送路を包含するデータ
処理システム中の命令レジスタとデータ流レジス
タとの関係を示すブロツク図である。 10……主記憶、11……命令ユニツト、12
……実行ユニツト、13……命令レジスタ、1
6,30……制御機構、18……作業レジスタ、
28……オペレーシヨン・レジスタ、40……デ
ータ流レジスタ、42,43……入力ゲート。
システムの中央処理ユニツトに設けられた命令レ
ジスタと他の機能ユニツトとの関係を示すブロツ
ク図、第2図は本発明の転送路を包含するデータ
処理システム中の命令レジスタとデータ流レジス
タとの関係を示すブロツク図である。 10……主記憶、11……命令ユニツト、12
……実行ユニツト、13……命令レジスタ、1
6,30……制御機構、18……作業レジスタ、
28……オペレーシヨン・レジスタ、40……デ
ータ流レジスタ、42,43……入力ゲート。
Claims (1)
- 【特許請求の範囲】 1 少なくとも第1フイールドと、命令コードを
含む第2フイールドとを有するプログラム命令を
プログラム記憶装置から受取り且つ受取つたプロ
グラム命令を保持する命令レジスタと、 データ流レジスタと、 入力をこのデータ流レジスタに接続させ且つ出
力を前記命令レジスタに接続させた入力ゲート手
段と、 入力を前記命令レジスタの第1フイールドに接
続させ且つ出力を上記データ流レジスタに接続さ
せた出力ゲート手段と、 前記第2フイールドにより特定された操作に応
じて中央処理装置を制御する手段であつて、前記
入力ゲート手段に接続されて前記データ流レジス
タから前記命令レジスタへデータを選択的にゲー
トする入力制御手段と、前記出力ゲート手段に接
続されて前記命令レジスタの前記第1フイールド
から前記データ流レジスタへデータを選択的にゲ
ートする出力制御手段とを含むものとからなり、 前記プログラム命令の前記第1フイールドを前
記プログラム命令の所定位置に再配置できるよう
にしたデータ処理装置。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/250,812 US4441153A (en) | 1981-04-03 | 1981-04-03 | Instruction register content modification using plural input gates and a data flow register |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS57166650A JPS57166650A (en) | 1982-10-14 |
| JPS62536B2 true JPS62536B2 (ja) | 1987-01-08 |
Family
ID=22949262
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57022189A Granted JPS57166650A (en) | 1981-04-03 | 1982-02-16 | Data processing system |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US4441153A (ja) |
| EP (1) | EP0066670B1 (ja) |
| JP (1) | JPS57166650A (ja) |
| CA (1) | CA1169573A (ja) |
| DE (1) | DE3260807D1 (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62115571A (ja) * | 1985-11-15 | 1987-05-27 | Fujitsu Ltd | ベクトルアクセス制御方式 |
| EP0228480B1 (de) * | 1985-12-30 | 1990-05-16 | Ibm Deutschland Gmbh | Verfahren und Einrichtung zur Analyse von Steuerprogrammen |
| JP2565495B2 (ja) * | 1986-08-27 | 1996-12-18 | 株式会社日立製作所 | デ−タ処理システム |
| US5925125A (en) * | 1993-06-24 | 1999-07-20 | International Business Machines Corporation | Apparatus and method for pre-verifying a computer instruction set to prevent the initiation of the execution of undefined instructions |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE1524090B2 (de) * | 1966-04-30 | 1970-11-19 | Anker-Werke Ag, 4800 Bielefeld | Einrichtung zur Modifizierung eines Befehls im Befehlsregister einer elektronischen Datenverarbeitungsanlage |
| US3585599A (en) * | 1968-07-09 | 1971-06-15 | Ibm | Universal system service adapter |
| US4200927A (en) * | 1978-01-03 | 1980-04-29 | International Business Machines Corporation | Multi-instruction stream branch processing mechanism |
| US4262330A (en) * | 1978-10-23 | 1981-04-14 | International Business Machines Corporation | I-phase controls for a computer |
| US4338661A (en) * | 1979-05-21 | 1982-07-06 | Motorola, Inc. | Conditional branch unit for microprogrammed data processor |
| DE2937777C2 (de) * | 1979-09-19 | 1982-04-08 | Ibm Deutschland Gmbh, 7000 Stuttgart | Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage zur Programmunterbrechung und für die Durchführung erzwungener Operationen |
| US4348724A (en) * | 1980-04-15 | 1982-09-07 | Honeywell Information Systems Inc. | Address pairing apparatus for a control store of a data processing system |
| US4373182A (en) * | 1980-08-19 | 1983-02-08 | Sperry Corporation | Indirect address computation circuit |
-
1981
- 1981-04-03 US US06/250,812 patent/US4441153A/en not_active Expired - Lifetime
-
1982
- 1982-02-16 JP JP57022189A patent/JPS57166650A/ja active Granted
- 1982-02-25 DE DE8282101423T patent/DE3260807D1/de not_active Expired
- 1982-02-25 EP EP82101423A patent/EP0066670B1/en not_active Expired
- 1982-03-05 CA CA000397732A patent/CA1169573A/en not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| EP0066670A3 (en) | 1983-04-13 |
| US4441153A (en) | 1984-04-03 |
| EP0066670A2 (en) | 1982-12-15 |
| EP0066670B1 (en) | 1984-09-26 |
| JPS57166650A (en) | 1982-10-14 |
| DE3260807D1 (en) | 1984-10-31 |
| CA1169573A (en) | 1984-06-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4777594A (en) | Data processing apparatus and method employing instruction flow prediction | |
| US4395758A (en) | Accelerator processor for a data processing system | |
| CA1248638A (en) | Three phased pipelined signal processor | |
| JP2539199B2 (ja) | デジタルプロセッサ制御装置 | |
| US4620275A (en) | Computer system | |
| US4926317A (en) | Hierarchical memory system with logical cache, physical cache, and address translation unit for generating a sequence of physical addresses | |
| US3983539A (en) | Polymorphic programmable units employing plural levels of sub-instruction sets | |
| JPS5834862B2 (ja) | アレイ・プロセツサ | |
| US4807113A (en) | Microprogrammed control data processing apparatus in which operand source and/or operand destination is determined independent of microprogram control | |
| JPH0529933B2 (ja) | ||
| JPS6351287B2 (ja) | ||
| US4791555A (en) | Vector processing unit | |
| US4812972A (en) | Microcode computer having dispatch and main control stores for storing the first and the remaining microinstructions of machine instructions | |
| JP2840604B2 (ja) | マイクロコード式cpuで実行される命令用のオペランドを指定する方法および装置 | |
| US4631672A (en) | Arithmetic control apparatus for a pipeline processing system | |
| EP0010196B1 (en) | Control circuit and process for digital storage devices | |
| US4373182A (en) | Indirect address computation circuit | |
| EP0141232B1 (en) | Vector processing unit | |
| JPS62536B2 (ja) | ||
| JPS5938677B2 (ja) | 制御ワ−ド転送制御装置 | |
| JPH0219492B2 (ja) | ||
| US4262330A (en) | I-phase controls for a computer | |
| JPS623347A (ja) | エラ−回復情報退避方式 | |
| JPS5828609B2 (ja) | トクシユメイレイシヨリソウチ | |
| JPS5931733B2 (ja) | 可変長さの命令を実行する中央処理装置 |