JPS5917464B2 - デ−タ処理装置 - Google Patents
デ−タ処理装置Info
- Publication number
- JPS5917464B2 JPS5917464B2 JP12921376A JP12921376A JPS5917464B2 JP S5917464 B2 JPS5917464 B2 JP S5917464B2 JP 12921376 A JP12921376 A JP 12921376A JP 12921376 A JP12921376 A JP 12921376A JP S5917464 B2 JPS5917464 B2 JP S5917464B2
- Authority
- JP
- Japan
- Prior art keywords
- operand
- instruction
- data
- address
- main memory
- 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
- 238000012545 processing Methods 0.000 title claims description 31
- 230000015654 memory Effects 0.000 claims description 65
- 238000000605 extraction Methods 0.000 claims description 9
- 238000000034 method Methods 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
Landscapes
- Advance Control (AREA)
Description
【発明の詳細な説明】
本発明は高レベルな機械語命令を効率良く処理するデー
タ処理装置に関する。
タ処理装置に関する。
更に詳細には、本発明は高級言語PL/Iのステートメ
ントに相当するような機能の大きい命令を機械語命令と
し、この1つの機械語命令を複数処理段階に分けて、命
令列を並列実行する時に、主記憶からのデータの先取り
操作を正しく行なうデータ処理装置に関する。
ントに相当するような機能の大きい命令を機械語命令と
し、この1つの機械語命令を複数処理段階に分けて、命
令列を並列実行する時に、主記憶からのデータの先取り
操作を正しく行なうデータ処理装置に関する。
1つの機械語命令の実行を複数処理段階に分けて実現す
る方式は高性能を要求される大型および超大型商用計算
機で従来から採用されている。
る方式は高性能を要求される大型および超大型商用計算
機で従来から採用されている。
一方、1つの機械語命令で行なわれる機能が大きい通常
高級言語マシンと呼ばれる計算機を設計する場合には、
各機械語命令を複数の処理段階に分け、各処理を専用の
処理装置で実現することによつて高い性能を得ることが
できる。通常のデータ処理で用いられる高級言語PL/
IやFORTRANを効率良く実現する機能を備えた計
算機の機械語命令は(1)添字づけによる配列表現等を
解決してオペランドアドレスを生成する、(2)オペラ
ンドを主記憶から取り込む、(3)命令で指定された処
理を行なう、3つの処理段階に分けて並列実行すること
によつて高い性能を得ることができる。
高級言語マシンと呼ばれる計算機を設計する場合には、
各機械語命令を複数の処理段階に分け、各処理を専用の
処理装置で実現することによつて高い性能を得ることが
できる。通常のデータ処理で用いられる高級言語PL/
IやFORTRANを効率良く実現する機能を備えた計
算機の機械語命令は(1)添字づけによる配列表現等を
解決してオペランドアドレスを生成する、(2)オペラ
ンドを主記憶から取り込む、(3)命令で指定された処
理を行なう、3つの処理段階に分けて並列実行すること
によつて高い性能を得ることができる。
このような方式で実行を行なう時、先行する命令が命令
実行フェーズでの処理を終了して、結果を主記憶へ貯蔵
する前にそのデータを後続する命令で使用していて、オ
ペランドアドレス生成やオペランド取出しフェーズで使
用することを防止する必要がある。
実行フェーズでの処理を終了して、結果を主記憶へ貯蔵
する前にそのデータを後続する命令で使用していて、オ
ペランドアドレス生成やオペランド取出しフェーズで使
用することを防止する必要がある。
従来では、このようなデータの先取りを防止するために
、オペランドアドレス生成過程で使用されるデータの主
記憶アドレスが先行命令実行によつてオペランドが貯蔵
される主記憶のアドレスと一致すると、先取りを中止し
、そのデータが主記憶に保存されるまで待つことによつ
て実現している。
、オペランドアドレス生成過程で使用されるデータの主
記憶アドレスが先行命令実行によつてオペランドが貯蔵
される主記憶のアドレスと一致すると、先取りを中止し
、そのデータが主記憶に保存されるまで待つことによつ
て実現している。
しかしながら、(1)データが主記憶に貯蔵されるオペ
ランドを1つの命令内に複数個持つ複雑な機械語〔例え
ば、移送ステートメントTransferA(X)TO
B,C命令では2つのオペランドB(!:Cとにデデー
タが移送される〕を備え、(2)複数フエーズに分けて
実行することによつてデータの取出しがオペランドアド
レス生成とオペランド取出しとの2つのフエーズで起る
〔前記例では添字づけ解決のためオペランドアドレス生
成フエーズでデータX、オペランド取出しフエーズでデ
ータAが主記憶から取り込まれる〕場合には、従来のよ
うに、データの主記憶アドレスだけで比較する方式を採
用していたのでは誤つてデータを先取りしてしまい、上
述の問題を正しく解決できない。
ランドを1つの命令内に複数個持つ複雑な機械語〔例え
ば、移送ステートメントTransferA(X)TO
B,C命令では2つのオペランドB(!:Cとにデデー
タが移送される〕を備え、(2)複数フエーズに分けて
実行することによつてデータの取出しがオペランドアド
レス生成とオペランド取出しとの2つのフエーズで起る
〔前記例では添字づけ解決のためオペランドアドレス生
成フエーズでデータX、オペランド取出しフエーズでデ
ータAが主記憶から取り込まれる〕場合には、従来のよ
うに、データの主記憶アドレスだけで比較する方式を採
用していたのでは誤つてデータを先取りしてしまい、上
述の問題を正しく解決できない。
例えば、ADDATOAAなる命令ではオペランドとし
て3つの同じデータAを1つの命令内に使用しており、
この命令の動作は実行前のオペランドAの内容をaとす
ると、ステツプ1;オペランドAの中味をオペランドA
へ加え込む(従つてオペランドAは2aになる)ステツ
プ2;オペランドAの中味を更にオペランドAへ加え込
む(その結果、オペランドAは3aになる)上記2つの
ステツプを実行することによつて達成される。
て3つの同じデータAを1つの命令内に使用しており、
この命令の動作は実行前のオペランドAの内容をaとす
ると、ステツプ1;オペランドAの中味をオペランドA
へ加え込む(従つてオペランドAは2aになる)ステツ
プ2;オペランドAの中味を更にオペランドAへ加え込
む(その結果、オペランドAは3aになる)上記2つの
ステツプを実行することによつて達成される。
この命令を従来の先取り方式に従つて実施すると、(1
)第2と第3のオペランドAは主記憶に貯蔵されるタイ
プであるために、オペランドアドレス生成フエーズで先
取り禁止項目として登録される。
)第2と第3のオペランドAは主記憶に貯蔵されるタイ
プであるために、オペランドアドレス生成フエーズで先
取り禁止項目として登録される。
その後、データ取出しフエーズで第1のオペランドAに
相当するデータを取り込もうとする時、単にアドレスだ
けで検証すると、自分自身の命令の第2および第3のオ
ペランドAと一致して、本来可能であるにもかかわらず
、取り込めなくなる。(2)上記命令に続く後続命令で
データAを使用する時、単にアドレスだけで検証すると
、第2と第3のオペランドAと一致してしまい、第3の
オペランドAが主記憶に貯蔵されるまでオペランドAの
取出しを禁止できなくなる等によつて、正しい先取り動
作を行なうことができない。本発明の目的は複雑なオペ
ランド構成を持つ機械語命令を備えた計算機のデータの
先取りを効果的に行なうデータ処理装置を提供すること
にある。
相当するデータを取り込もうとする時、単にアドレスだ
けで検証すると、自分自身の命令の第2および第3のオ
ペランドAと一致して、本来可能であるにもかかわらず
、取り込めなくなる。(2)上記命令に続く後続命令で
データAを使用する時、単にアドレスだけで検証すると
、第2と第3のオペランドAと一致してしまい、第3の
オペランドAが主記憶に貯蔵されるまでオペランドAの
取出しを禁止できなくなる等によつて、正しい先取り動
作を行なうことができない。本発明の目的は複雑なオペ
ランド構成を持つ機械語命令を備えた計算機のデータの
先取りを効果的に行なうデータ処理装置を提供すること
にある。
本発明の他の目的はオペランドやオペランドアドレス生
成時に使用されるデータの先取り可能性を検証するため
に単にアドレス情報だけでなく命令番号をも併用して行
なうことのできるデータ処理装置を提供することにある
。本発明の別の目的はオペランドやオペランドアドレス
生成時に使用されるデータの先取り可能性を検証するた
めに単にアドレス情報だけでなく命令内オペランド番号
をも併用して行なうことのできるデータ処理装置を提供
することにある。
成時に使用されるデータの先取り可能性を検証するため
に単にアドレス情報だけでなく命令番号をも併用して行
なうことのできるデータ処理装置を提供することにある
。本発明の別の目的はオペランドやオペランドアドレス
生成時に使用されるデータの先取り可能性を検証するた
めに単にアドレス情報だけでなく命令内オペランド番号
をも併用して行なうことのできるデータ処理装置を提供
することにある。
すなわち、本発明は、1つの機械語命令を複数処理段階
に分け命令列を並列実行するデータ処理装置であり、命
令やオペランドを貯える主記憶と、オペランドアドレス
生成とオペランド取出し時に先取り動作によつて誤つた
データが使用されるのを防止する先取制御手段と、命令
のオペランドアドレスの生成とこの生成過程で前記主記
憶に保存するタイプのオペランドを処理する時に該オペ
ランドが属する命令番号と命令内オペランド番号と主記
憶アドレスとを前記先取制御手段へ登録し前記主記憶か
らデータを取り出す時には前記先取制御手段へ取出し可
能かどうかを検証するオペランドアドレス生成手段と、
命令番号とオペランド番号と主記憶アドレスとを用いて
取込み可能か否かを前記先取制御手段に尋門しながらオ
ペランドを前記主記憶から取り込むオペランド取出手段
と、命令で規定される演算処理を実行しかつオペランド
の演算結果とを前記主記憶へ保存する際に前記先取制御
手段を用いて検出され前記オペランドの取り出しを待つ
ている前記オペランドアドレス生成手段と前記オペラン
ド取出し手段とへ該オペランドの移送を実行する命令実
行手段とから構成されている。従つて、本発明を用いる
ことにより上述の従来方式では不可能だつた2つの例は
容易に解決される。
に分け命令列を並列実行するデータ処理装置であり、命
令やオペランドを貯える主記憶と、オペランドアドレス
生成とオペランド取出し時に先取り動作によつて誤つた
データが使用されるのを防止する先取制御手段と、命令
のオペランドアドレスの生成とこの生成過程で前記主記
憶に保存するタイプのオペランドを処理する時に該オペ
ランドが属する命令番号と命令内オペランド番号と主記
憶アドレスとを前記先取制御手段へ登録し前記主記憶か
らデータを取り出す時には前記先取制御手段へ取出し可
能かどうかを検証するオペランドアドレス生成手段と、
命令番号とオペランド番号と主記憶アドレスとを用いて
取込み可能か否かを前記先取制御手段に尋門しながらオ
ペランドを前記主記憶から取り込むオペランド取出手段
と、命令で規定される演算処理を実行しかつオペランド
の演算結果とを前記主記憶へ保存する際に前記先取制御
手段を用いて検出され前記オペランドの取り出しを待つ
ている前記オペランドアドレス生成手段と前記オペラン
ド取出し手段とへ該オペランドの移送を実行する命令実
行手段とから構成されている。従つて、本発明を用いる
ことにより上述の従来方式では不可能だつた2つの例は
容易に解決される。
すなわち、上記第1の例はアドレス情報だけでなく命令
番号を用いて検証し、現在処理中のオペランドが属する
命令より先行する命令のオペランドだけを先取り中止頂
目の対象に限定することによつて上記第2および第3の
オペランドAを除外することが可能になる。また、上記
第2の例ではアドレス情報だけでなく命令内オペランド
番号を用いて検証し、1つの命令内で物理的に後の位置
のオペランド(例えば、オペランド番号を左から順に1
,2,3・・・・・・とつけると、最大オペランド番号
を持つオペランド)を選択することにより上記第3のオ
ペランドAを先取り中止項目と見做すことが可能になる
。次に図面を参照して本発明を詳細に説明する。
番号を用いて検証し、現在処理中のオペランドが属する
命令より先行する命令のオペランドだけを先取り中止頂
目の対象に限定することによつて上記第2および第3の
オペランドAを除外することが可能になる。また、上記
第2の例ではアドレス情報だけでなく命令内オペランド
番号を用いて検証し、1つの命令内で物理的に後の位置
のオペランド(例えば、オペランド番号を左から順に1
,2,3・・・・・・とつけると、最大オペランド番号
を持つオペランド)を選択することにより上記第3のオ
ペランドAを先取り中止項目と見做すことが可能になる
。次に図面を参照して本発明を詳細に説明する。
第1図は本発明の一実施例を示すプロツク図である。本
発明のデータ処理装置は、命令、オペランド及びオペラ
ンドアドレス生成時に用いられる添字データ等を貯える
主記憶1、添字データ等の取出しを行ないながらオペラ
ンドアドレスを作るオペランドアドレス生成手段2、オ
ペランドアドレスを用いてオペランドを主記憶から取り
込むオペランド取出し手段3および命令実行手段4及び
先取り動作による誤つたデータの使用を防止する先取制
御手段5から構成される。主記憶1は通常の、例えば、
ICメモリで構成されている。
発明のデータ処理装置は、命令、オペランド及びオペラ
ンドアドレス生成時に用いられる添字データ等を貯える
主記憶1、添字データ等の取出しを行ないながらオペラ
ンドアドレスを作るオペランドアドレス生成手段2、オ
ペランドアドレスを用いてオペランドを主記憶から取り
込むオペランド取出し手段3および命令実行手段4及び
先取り動作による誤つたデータの使用を防止する先取制
御手段5から構成される。主記憶1は通常の、例えば、
ICメモリで構成されている。
この主記憶1に対しては信号線11を介してオペランド
アドレス生成手段2へ移送するための読出し動作および
信号線12を介してオペランド取出し手段3へデータを
移送するための読出し動作と信号線13を介して命令実
行手段4から実行結果を受け取りかつ書き込む動作とが
行なわれる。次に他の構成手段について詳細に説明する
が、機械語命令のアドレス生成、オペランド取出しおよ
び命令実行を行なうために必要な処理の説明は通常の計
算機と何ら変る所がないため省略し、主として先取り制
御に必要な処理を中心に述べる。
アドレス生成手段2へ移送するための読出し動作および
信号線12を介してオペランド取出し手段3へデータを
移送するための読出し動作と信号線13を介して命令実
行手段4から実行結果を受け取りかつ書き込む動作とが
行なわれる。次に他の構成手段について詳細に説明する
が、機械語命令のアドレス生成、オペランド取出しおよ
び命令実行を行なうために必要な処理の説明は通常の計
算機と何ら変る所がないため省略し、主として先取り制
御に必要な処理を中心に述べる。
オペランドアドレス生成手段2は通常のマイクロプログ
ラム制御装置で、汎用レジスタ、加減算器および制御メ
モリ等と、本発明の先取り機能を実現するために必要な
命令番号カウンタと、オペランド番号カウンタとから構
成される。汎用レジス 5夕、加減算器および制御メモ
リは通常の計算機で使用される市販のICで構成され、
又、命令番号カウンタおよびオペランド番号カウンタも
各々2ビツトおよび3ビツトの通常の二進カウンタで構
成される。命令番号カウンタは1つの機械語命令くの処
理が終了すると、増カウントされ、オペランド番号カウ
ンタは1つの命令処理ごとに、O状態にされかつ1つの
オペランドの処理を終了すると、増カウントされるよう
に、マイクロ命令で制御される。アドレス生成手段2は
機械語命令で決められた規則に従つて各オペランドのア
ドレスを生成し、その時点での該命令番号カウンタと該
オペランド番号カウンタ中の命令番号とオペランド番号
とを付加して構成されたオペランド記述子をオペランド
取出し手段3へ信号線21を介して遂次渡す。
ラム制御装置で、汎用レジスタ、加減算器および制御メ
モリ等と、本発明の先取り機能を実現するために必要な
命令番号カウンタと、オペランド番号カウンタとから構
成される。汎用レジス 5夕、加減算器および制御メモ
リは通常の計算機で使用される市販のICで構成され、
又、命令番号カウンタおよびオペランド番号カウンタも
各々2ビツトおよび3ビツトの通常の二進カウンタで構
成される。命令番号カウンタは1つの機械語命令くの処
理が終了すると、増カウントされ、オペランド番号カウ
ンタは1つの命令処理ごとに、O状態にされかつ1つの
オペランドの処理を終了すると、増カウントされるよう
に、マイクロ命令で制御される。アドレス生成手段2は
機械語命令で決められた規則に従つて各オペランドのア
ドレスを生成し、その時点での該命令番号カウンタと該
オペランド番号カウンタ中の命令番号とオペランド番号
とを付加して構成されたオペランド記述子をオペランド
取出し手段3へ信号線21を介して遂次渡す。
更に、データの先取りを正しく行なうために、以下の2
つの処理が通常のマイクロプログラム制御によつて行な
われる。(1)主記憶1へ貯蔵するタイプのオペランド
のアドレスを生成すると、前記命令番号カウンタ中の命
令番号とオペランド番号カウンタ中の命令内オペランド
番号と共に主記憶アドレスを信号線22を介して先取制
御手段5へ登録する。
つの処理が通常のマイクロプログラム制御によつて行な
われる。(1)主記憶1へ貯蔵するタイプのオペランド
のアドレスを生成すると、前記命令番号カウンタ中の命
令番号とオペランド番号カウンタ中の命令内オペランド
番号と共に主記憶アドレスを信号線22を介して先取制
御手段5へ登録する。
(2)オペランドアドレス生成時、添字データ等を主記
憶1から取り出す必要が生じた時には、該添字データの
主記憶アドレスを用いて信号線23を介して先取制御手
段5へ先取り可能か否かを検証する。そして、先取制御
手段5からの応答信号24に従つて先取り可能であれば
データの取出しを行ない、不可能であれば先取制御手段
5にアドレス生成手段2が前記添字データの取出しを待
つていることを示す状態をセツトした後、アドレス生成
処理を停止して待つ。オペランド取出し手段3は通常の
制御回路および制御メモリ等から成るマイクロプログラ
ム制御装置で構成され、信号線21を介してオペランド
アドレス生成手段2から送られるオペランド記述子を用
いて、マイクロプログラム制御により実際のデータを主
記憶1から取り込む。データの取込みに際し、該オペラ
ンドの取込みが可能か否かを、処理中のオペランドに対
応するオペランド記述子中の命令番号と命令内オペラン
ド番号と主記憶アドレスとを用いて信号線32を介して
先取制御手段5に尋門する。
憶1から取り出す必要が生じた時には、該添字データの
主記憶アドレスを用いて信号線23を介して先取制御手
段5へ先取り可能か否かを検証する。そして、先取制御
手段5からの応答信号24に従つて先取り可能であれば
データの取出しを行ない、不可能であれば先取制御手段
5にアドレス生成手段2が前記添字データの取出しを待
つていることを示す状態をセツトした後、アドレス生成
処理を停止して待つ。オペランド取出し手段3は通常の
制御回路および制御メモリ等から成るマイクロプログラ
ム制御装置で構成され、信号線21を介してオペランド
アドレス生成手段2から送られるオペランド記述子を用
いて、マイクロプログラム制御により実際のデータを主
記憶1から取り込む。データの取込みに際し、該オペラ
ンドの取込みが可能か否かを、処理中のオペランドに対
応するオペランド記述子中の命令番号と命令内オペラン
ド番号と主記憶アドレスとを用いて信号線32を介して
先取制御手段5に尋門する。
尋門の結果、先取制御手段5からの信号線33が該デー
タの取出しが可能であることを示していると取出し動作
を続行し、不可能であることを示していると先取制御手
段5の該当する語をオペランド取出し手段3が待つてい
ることを示す状態にセツトして取出し動作を中止して待
つ。命令実行手段4は通常のレジスタ、加減算器、シフ
ト器および制御メモリ等からなり、オペランド取出し手
段3から信号線31を介して送られるデータを用いて、
機械語命令で規定される処理をマイクロプログラム制御
により実現する。
タの取出しが可能であることを示していると取出し動作
を続行し、不可能であることを示していると先取制御手
段5の該当する語をオペランド取出し手段3が待つてい
ることを示す状態にセツトして取出し動作を中止して待
つ。命令実行手段4は通常のレジスタ、加減算器、シフ
ト器および制御メモリ等からなり、オペランド取出し手
段3から信号線31を介して送られるデータを用いて、
機械語命令で規定される処理をマイクロプログラム制御
により実現する。
更に、命令の実行中に主記憶1に貯蔵するタイプのオペ
ランドの処理を終了すると、そのオペランドに対応する
オペランド記述子中の命令番号とオペランド番号と主記
憶アドレスとを用いて信号線41を介して先取制御手段
5へ尋門する。そして、応答信号42に従つてオペラン
ドアドレス生成手段2又は該オペランド取出し手段3が
そのオペランドの取り出しを待つていることを示す状態
の時には主記憶1へ書き込む前に、オペランドアドレス
生成手段2又はオペランド取出し手段3へ移送する。そ
の後、先取制御手段5における前記オペランドに関する
情報が無効にされる。命令実行手段4で行なわれる以上
の処理は通常のマイクロプログラム制御によつて行なわ
れる。以上、アドレス生成手段2、オペランド取出し手
段3および命令実行手段4について説明したが、これら
はいずれも通常のマイクロプログラム制御装置で容易に
構成できるので、詳細は省略する。
ランドの処理を終了すると、そのオペランドに対応する
オペランド記述子中の命令番号とオペランド番号と主記
憶アドレスとを用いて信号線41を介して先取制御手段
5へ尋門する。そして、応答信号42に従つてオペラン
ドアドレス生成手段2又は該オペランド取出し手段3が
そのオペランドの取り出しを待つていることを示す状態
の時には主記憶1へ書き込む前に、オペランドアドレス
生成手段2又はオペランド取出し手段3へ移送する。そ
の後、先取制御手段5における前記オペランドに関する
情報が無効にされる。命令実行手段4で行なわれる以上
の処理は通常のマイクロプログラム制御によつて行なわ
れる。以上、アドレス生成手段2、オペランド取出し手
段3および命令実行手段4について説明したが、これら
はいずれも通常のマイクロプログラム制御装置で容易に
構成できるので、詳細は省略する。
次に本発明の特徴である先取制御手段5の構成および動
作について詳細に説明する。第2図は先取制御手段5の
構成を示し、本実施例では1語32ピツト、Oから順に
7まで番地づけられた容量8語の連想メモリ51と該当
語アドレス作成回路52とから構成されている。
作について詳細に説明する。第2図は先取制御手段5の
構成を示し、本実施例では1語32ピツト、Oから順に
7まで番地づけられた容量8語の連想メモリ51と該当
語アドレス作成回路52とから構成されている。
連想メモリ51中の1語は表1で示されるような部分フ
イールドから成り、市販の連想メモリを用いて容易に構
成することができる。
イールドから成り、市販の連想メモリを用いて容易に構
成することができる。
すでに、他の構成手段2から4との関係で簡単く説明を
行なつたが、先取制御手段5では以下の!つの場合に関
する制御を行なう。
行なつたが、先取制御手段5では以下の!つの場合に関
する制御を行なう。
1)アドレス発生手段2が連想メモリ51中の1語へ登
録する時。
録する時。
ビツトOだけを選ぶマスク信号を用いて、ビツトOが″
0″″のデータで照合し、8ビツトの照合結果信号53
を用いて該当語アドレス作成回路52からの8語中の登
録すべき語アドレスが生成される。
0″″のデータで照合し、8ビツトの照合結果信号53
を用いて該当語アドレス作成回路52からの8語中の登
録すべき語アドレスが生成される。
この時の語アドレスとしてはすべての語のビツトOが″
O″であればO番地、″0″でない番地がある時にはそ
の中で最小の番地が選ばれる。そして、このアドレスに
対応する連想メモリ51中の語へ“1”であるビツトO
、命令番号、オペランド番号および主記憶アドレスを書
き込む。
O″であればO番地、″0″でない番地がある時にはそ
の中で最小の番地が選ばれる。そして、このアドレスに
対応する連想メモリ51中の語へ“1”であるビツトO
、命令番号、オペランド番号および主記憶アドレスを書
き込む。
2)アドレス生成手段2がアドレス生成中に、添字デー
タ等を主記憶1からデータを取り出す必要が生じた時。
タ等を主記憶1からデータを取り出す必要が生じた時。
ビツトOと8から31を選択するマスク信号を用いて、
ビツトOが″1”で取り出そうとするデータの主記憶ア
ドレスをデータとして照合し、一致するものがあれば照
合結果信号53を用いて該当語アドレス作成回路52か
ら8語中の該当する語アドレスが生成される。
ビツトOが″1”で取り出そうとするデータの主記憶ア
ドレスをデータとして照合し、一致するものがあれば照
合結果信号53を用いて該当語アドレス作成回路52か
ら8語中の該当する語アドレスが生成される。
この時の語アドレスは一致する語の中で、先行する命令
のオペランドでありかつ現在処理しているデータの命令
番号に最も近い命令番号を持つ語を、更に更一命令内に
複数個のオペランドがあればオペランド番号が最大であ
る語を選択することによつて決定される。そして、連想
メモリ51中のこのアドレスに対応する語のビツト1を
″1′″にセツトすることによつてアドレス生成手段2
が待つていることを保存する。3)オペランド取出し手
段3が該主記憶1からデータを取り出す時。
のオペランドでありかつ現在処理しているデータの命令
番号に最も近い命令番号を持つ語を、更に更一命令内に
複数個のオペランドがあればオペランド番号が最大であ
る語を選択することによつて決定される。そして、連想
メモリ51中のこのアドレスに対応する語のビツト1を
″1′″にセツトすることによつてアドレス生成手段2
が待つていることを保存する。3)オペランド取出し手
段3が該主記憶1からデータを取り出す時。
ビツトOと8から31を選択するマスク信号を用いて、
ビツトOが゜“1”、主記憶アドレスをデータとして照
合し、一致するものがあれば、照合結果信号53を用い
て該当語アドレス作成回路52から8語中の該当する語
アドレスが生成される。
ビツトOが゜“1”、主記憶アドレスをデータとして照
合し、一致するものがあれば、照合結果信号53を用い
て該当語アドレス作成回路52から8語中の該当する語
アドレスが生成される。
この時の語アドレスは、命令番号によつて先行命令のオ
ペランドであるものを選び、現在処理しているデータの
命令番号に最も近い命令番号を持つ語を、更に同一命令
内に複数個のオペランドがあればオペランド番号が最大
である語を選択する。そして、このアドレスに対応する
連想メモリ中の語のビツト2を″1″にセツトすること
によつてオペランド取出し手段3が待つていることを保
存する。
ペランドであるものを選び、現在処理しているデータの
命令番号に最も近い命令番号を持つ語を、更に同一命令
内に複数個のオペランドがあればオペランド番号が最大
である語を選択する。そして、このアドレスに対応する
連想メモリ中の語のビツト2を″1″にセツトすること
によつてオペランド取出し手段3が待つていることを保
存する。
(4)命令実行手段4が演算処理を終了して、データを
該主記憶1へ貯蔵する時。
該主記憶1へ貯蔵する時。
ビツトOと3から31を選択するマスク信号を用いてビ
ツトOが″1″′、主記憶1へ貯蔵するオペランドに対
応する命令番号、オペランド番号、主記憶アドレスをデ
ータとして照合し、照合結果信号53を用いて該当語ア
ドレス作成回路52から8語中の該当する語アドレスが
生成される。
ツトOが″1″′、主記憶1へ貯蔵するオペランドに対
応する命令番号、オペランド番号、主記憶アドレスをデ
ータとして照合し、照合結果信号53を用いて該当語ア
ドレス作成回路52から8語中の該当する語アドレスが
生成される。
次にこのアドレスに対応する連想メモリ中の語のビツト
1,2を読み出し、各ビツトが″1″であれば貯蔵しよ
うとしているデータをアドレス生成手段2、オペランド
取出し手段3へ送り、更にビツトOを″0ラにすること
によつて該当語の登録を無効とする。
1,2を読み出し、各ビツトが″1″であれば貯蔵しよ
うとしているデータをアドレス生成手段2、オペランド
取出し手段3へ送り、更にビツトOを″0ラにすること
によつて該当語の登録を無効とする。
該当語アドレス作成回路52は連想メモリ51からの8
ビツトの一致又は不一致を示す信号53を用いて、上記
4つの場合に応じて独立の4つの専用回路によつて実現
されるが、ここでは第1の場合の例に関して詳細に説明
する。
ビツトの一致又は不一致を示す信号53を用いて、上記
4つの場合に応じて独立の4つの専用回路によつて実現
されるが、ここでは第1の場合の例に関して詳細に説明
する。
第3図は上記第1の場合に関するアドレス作成回路52
の詳細な回路図を示し、通常の8個のインバータ60か
ら67、9個のANDゲート70から78、0Rゲート
81及び8入力のエンコーダ82から構成される。
の詳細な回路図を示し、通常の8個のインバータ60か
ら67、9個のANDゲート70から78、0Rゲート
81及び8入力のエンコーダ82から構成される。
信号線53−0から53−7は各々連想メモリ51のO
番地から7番地の語の照合結果を示す信号である。
番地から7番地の語の照合結果を示す信号である。
次にこの回路について詳細に説明する。
第3図において、例えば、1番地のビツトOが″0″で
あることにより信号53−1が″1″でかつO番地のビ
ツトOが″1″ですでに登録済みであると、信号53−
0が″0″であるからANDゲート71だけが論理を満
たして信号71−1を1にし、この結果、エンコーダ8
2は信号54に二進値1を出力して、先取制御手段5の
連想メモリ51の1番地が選択される。
あることにより信号53−1が″1″でかつO番地のビ
ツトOが″1″ですでに登録済みであると、信号53−
0が″0″であるからANDゲート71だけが論理を満
たして信号71−1を1にし、この結果、エンコーダ8
2は信号54に二進値1を出力して、先取制御手段5の
連想メモリ51の1番地が選択される。
2番地から7番地は第3図で示すように、同様な回路に
よつて検出される。
よつて検出される。
一方、O番地は1番地から7番地と同様に、ANDゲー
ト70によつて信号53−0が″1”で、信号53−7
が“O′″である場合と、更にANDゲート78を介し
て連想メモリ中のすべての語のビツトOが″O″″であ
る場合に、信号70−1によつてO番地が生成される。
以上は第1の場合の該当語アドレス作成回路52につい
て示したが、他の場合についても実現される。
ト70によつて信号53−0が″1”で、信号53−7
が“O′″である場合と、更にANDゲート78を介し
て連想メモリ中のすべての語のビツトOが″O″″であ
る場合に、信号70−1によつてO番地が生成される。
以上は第1の場合の該当語アドレス作成回路52につい
て示したが、他の場合についても実現される。
すなわち、この時、信号線53と、連想メモリ51中の
命令番号や命令内オペランド番号等の情報と、イ又構成
を容易にするために内蔵した他の制御情報とを用いて通
常の論理回路によつて容易に実現できるので、その詳細
な説明は省略する。以上は本発明の一実施例にすぎない
。
命令番号や命令内オペランド番号等の情報と、イ又構成
を容易にするために内蔵した他の制御情報とを用いて通
常の論理回路によつて容易に実現できるので、その詳細
な説明は省略する。以上は本発明の一実施例にすぎない
。
第1表で示す先取制御手段の連想メモリの1語は32ビ
ツトで構成され、命令番号、オペランド番号がそれぞれ
2ビツト、3ビツトであるが、これらは他のビツト長で
あつても良い。
ツトで構成され、命令番号、オペランド番号がそれぞれ
2ビツト、3ビツトであるが、これらは他のビツト長で
あつても良い。
又、第2図で先取制御手段は連想メモリを用いて構成さ
れているが、通常のレジスタで作ることもできる。さら
に、本実施例では1つの命令は3つの処理段階に分けら
れて実行されているが、更に多くの段階に分割して行な
うこともできる。
れているが、通常のレジスタで作ることもできる。さら
に、本実施例では1つの命令は3つの処理段階に分けら
れて実行されているが、更に多くの段階に分割して行な
うこともできる。
【図面の簡単な説明】
第1図は本発明の一実施例のプロツク図、第2図は先取
制御手段の構成を示す図および第3図は該当する語アド
レスを生成する回路図を示す。
制御手段の構成を示す図および第3図は該当する語アド
レスを生成する回路図を示す。
Claims (1)
- 1 1つの機械語命令を複数処理段階に分け命令列を並
列実行するデータ処理装置において、命令やオペランド
を貯える主記憶と、オペランドアドレス生成とオペラン
ド取出し時に先取り動作によつて誤つたデータが使用さ
れるのを防止する先取制御手段と、命令のオペランドア
ドレス生成とこの生成過程で前記主記憶に保存するタイ
プのオペランドを処理した時に該オペランドが属する命
令番号と命令内オペランド番号と主記憶アドレスとを前
記先取制御手段へ登録し前記主記憶からデータを取り出
す時には前記先取制御手段へ取出しが可能か否かを検証
するオペランドアドレス生成手段と、命令番号とオペラ
ンド番号と主記憶アドレスとを用いて取込み可能か否か
を前記先取制御手段に尋門しながらオペランドを前記主
記憶から取り込むオペランド取出し手段と、命令で規定
される演算処理を実行しかつオペランドの演算結果を前
記主記憶へ保存する際に前記先取制御手段を用いて検出
され前記オペランドの取出しを待つている前記オペラン
ドアドレス生成手段と前記オペランド取出し手段とへ該
オペランドの移送を実行する命令実行手段とから構成さ
れたことを特徴とするデータ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12921376A JPS5917464B2 (ja) | 1976-10-26 | 1976-10-26 | デ−タ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12921376A JPS5917464B2 (ja) | 1976-10-26 | 1976-10-26 | デ−タ処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5353939A JPS5353939A (en) | 1978-05-16 |
| JPS5917464B2 true JPS5917464B2 (ja) | 1984-04-21 |
Family
ID=15003922
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP12921376A Expired JPS5917464B2 (ja) | 1976-10-26 | 1976-10-26 | デ−タ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5917464B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02117567U (ja) * | 1989-03-09 | 1990-09-20 |
-
1976
- 1976-10-26 JP JP12921376A patent/JPS5917464B2/ja not_active Expired
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02117567U (ja) * | 1989-03-09 | 1990-09-20 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5353939A (en) | 1978-05-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US3810117A (en) | Stack mechanism for a data processor | |
| US4584640A (en) | Method and apparatus for a compare and swap instruction | |
| US4477872A (en) | Decode history table for conditional branch instructions | |
| US4488227A (en) | Program counter stacking method and apparatus for nested subroutines and interrupts | |
| US4710866A (en) | Method and apparatus for validating prefetched instruction | |
| KR970011207B1 (ko) | 원자 억세스를 제공하는 레지스터가 소프트웨어 인터록 없이 공유된 레지스터의 개별 비트를 세트하고 클리어하기 위한 방법 및 장치 | |
| TWI808869B (zh) | 硬體處理器及處理器 | |
| JPS6028015B2 (ja) | 情報処理装置 | |
| JPS59180767A (ja) | 直列化装置 | |
| US4740889A (en) | Cache disable for a data processor | |
| JP2620511B2 (ja) | データ・プロセッサ | |
| US3496550A (en) | Digital processor with variable field length operands using a first and second memory stack | |
| US3405394A (en) | Controlled register accessing | |
| JPS59231652A (ja) | メモリアクセス・オ−バラツプ検出方式 | |
| US4797817A (en) | Single cycle store operations in a virtual memory | |
| US3618042A (en) | Error detection and instruction reexecution device in a data-processing apparatus | |
| JPS5917464B2 (ja) | デ−タ処理装置 | |
| JPH0527142B2 (ja) | ||
| US4212058A (en) | Computer store mechanism | |
| US4935849A (en) | Chaining and hazard apparatus and method | |
| JP2003202981A (ja) | アドレス範囲チェック回路及び動作方法 | |
| JPS60129839A (ja) | 情報処理装置 | |
| JPH0552539B2 (ja) | ||
| JP2667851B2 (ja) | 情報処理装置 | |
| JP2783285B2 (ja) | 情報処理装置 |