JPS59218558A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPS59218558A JPS59218558A JP9359683A JP9359683A JPS59218558A JP S59218558 A JPS59218558 A JP S59218558A JP 9359683 A JP9359683 A JP 9359683A JP 9359683 A JP9359683 A JP 9359683A JP S59218558 A JPS59218558 A JP S59218558A
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- signal
- instruction
- hardware
- 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.)
- Granted
Links
Landscapes
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
発明の技術分野
本発明は情報処理装置に関し、使用するソフトウェアの
性質に応じて自動的に71−ドウエアなりsシフアーム
ウェアの構造を変更するようにしたものである。
性質に応じて自動的に71−ドウエアなりsシフアーム
ウェアの構造を変更するようにしたものである。
従来技術と問題点
従来、計算機の設計は、機能拡張等は別として、定めら
れたハードウェアの構成ないし論理に従って設計されて
いる。従って、各種のプログラムを流した場合、そのプ
ログラムの内容により計算機の性能が大きく変わる。例
えば、外部メモリのアクセス頻度が高い事務処理プログ
ラムと、内部レジスタを多く使用する科学技術用プログ
ラムとでは、使用する計算機の構造例えばデータレジス
タ、命令レジスタのどちらが多く確保されているか等に
より性能の差が大きくでる。
れたハードウェアの構成ないし論理に従って設計されて
いる。従って、各種のプログラムを流した場合、そのプ
ログラムの内容により計算機の性能が大きく変わる。例
えば、外部メモリのアクセス頻度が高い事務処理プログ
ラムと、内部レジスタを多く使用する科学技術用プログ
ラムとでは、使用する計算機の構造例えばデータレジス
タ、命令レジスタのどちらが多く確保されているか等に
より性能の差が大きくでる。
このため汎用計算機においてどのようなプログラムに対
しても性能が上がるように設計しようとしても、上述し
た理由からこれは極めて難しい。
しても性能が上がるように設計しようとしても、上述し
た理由からこれは極めて難しい。
そこで従来は、(1)構成制御によるシステムの設定、
(210P S R(Operation 5t
atus Register) 4とよるハー
ドウェア内部の論理変更等の対策が考えられているが、
前者はシステム設置時に決定されてしまい、後者は主に
オペレータが0PSRを変更するものであるためオペレ
ータの負担を重くする。
(210P S R(Operation 5t
atus Register) 4とよるハー
ドウェア内部の論理変更等の対策が考えられているが、
前者はシステム設置時に決定されてしまい、後者は主に
オペレータが0PSRを変更するものであるためオペレ
ータの負担を重くする。
また両者ともプログラムが変わった時(TSS等で)に
対する柔軟性は全くない。
対する柔軟性は全くない。
発明の目的
本発明は、上述の如き問題点を解決するために、計算機
自身がソフトウェアつまり各種の命令の集合体に適する
ように自動的にハードウェアないしファームウェアの構
造(構成ないし論理)を変更できるようにするものであ
る。
自身がソフトウェアつまり各種の命令の集合体に適する
ように自動的にハードウェアないしファームウェアの構
造(構成ないし論理)を変更できるようにするものであ
る。
発明の構成
本発明は、ハードウェアなむルファームウエアを有する
情報処理装置に、現在実行中のソフトウェアの性質を判
断する制御部と、その判断結果Gこ応じてハードウェア
またはファームウェアの構成ないし論理を該ソフトウェ
アに適合する形態に変更する機能とを設けてなることを
特徴とするが、以下図面を参照しながらこれを詳細に説
明する。
情報処理装置に、現在実行中のソフトウェアの性質を判
断する制御部と、その判断結果Gこ応じてハードウェア
またはファームウェアの構成ないし論理を該ソフトウェ
アに適合する形態に変更する機能とを設けてなることを
特徴とするが、以下図面を参照しながらこれを詳細に説
明する。
発明の実施例
ベクトルプロセッサのように高速化を図る計算機では、
複数の命令及びその命令で処理する複数の外部データを
バッフ1リングしておき、演算機等の状態によってプロ
グラム上後続する命令を先行する命令より先に実行する
ことがある(命令の追い越し)。そのために、複数の命
令及び外部データをそれぞれ命令保持部(iR)とデー
タ保持部(DR)に取り込んで命令の発信順序及びタイ
ミングを制御する。
複数の命令及びその命令で処理する複数の外部データを
バッフ1リングしておき、演算機等の状態によってプロ
グラム上後続する命令を先行する命令より先に実行する
ことがある(命令の追い越し)。そのために、複数の命
令及び外部データをそれぞれ命令保持部(iR)とデー
タ保持部(DR)に取り込んで命令の発信順序及びタイ
ミングを制御する。
この−例として従来のベクトル命令制御装置(viu)
を第1図に示す。この命令制御装置は命令取込み回路1
と命令発信回路2からなり、1つの命令に対しデータが
2つずつ(ファーストとセカンド)入力されるものとす
る。3は外部メモリ、補助プロセッサ等の外部装置で命
令及びデータを送出する。命令取込み回路1内の4はバ
ッファで、外部装置3からの命令及びデータをバッファ
する。
を第1図に示す。この命令制御装置は命令取込み回路1
と命令発信回路2からなり、1つの命令に対しデータが
2つずつ(ファーストとセカンド)入力されるものとす
る。3は外部メモリ、補助プロセッサ等の外部装置で命
令及びデータを送出する。命令取込み回路1内の4はバ
ッファで、外部装置3からの命令及びデータをバッファ
する。
5はフラグ制御回路でデータの管理を行なう。
IRO〜3はインストラクションレジスタ、ARO〜3
はデータアドレスレジスタ、DRPはファーストデータ
レジスタ、DR8はセカンドデータレジスタ、CLはク
ロックである。またSELはセレクト回路、101は命
令及びデータを伝えるバス線、110はiRoの命令で
処理するデータを示すアドレス線、111はデータレジ
スタDRのリード(READ)アドレス線、112は発
信された命令で処理するデータの記憶場所を示すアドレ
ス線である。
はデータアドレスレジスタ、DRPはファーストデータ
レジスタ、DR8はセカンドデータレジスタ、CLはク
ロックである。またSELはセレクト回路、101は命
令及びデータを伝えるバス線、110はiRoの命令で
処理するデータを示すアドレス線、111はデータレジ
スタDRのリード(READ)アドレス線、112は発
信された命令で処理するデータの記憶場所を示すアドレ
ス線である。
外部装置3からは命令、ファーストデータ、セカンドデ
ータ(この繰り返し)の順に情報が送られ、バッファ4
に保持される。バッファ4からは同様の順に情報が取り
出され、クロックCL o。
ータ(この繰り返し)の順に情報が送られ、バッファ4
に保持される。バッファ4からは同様の順に情報が取り
出され、クロックCL o。
CLnF、 CLosが順にオンになると命令はイン
ストラクションレジスタiRaへ、また2つのデータは
それぞれデータレジスタDRP、DR8にセットされる
。またクロックCLoがオンになるとき、フラグ制御回
路5ではデータレジスタDRのアドレス(図示の例では
O〜3)のうぢ、フラグ(後述する)がオフになってい
るもののうちの1つを信号線110を通してアドレスレ
ジスタAR。
ストラクションレジスタiRaへ、また2つのデータは
それぞれデータレジスタDRP、DR8にセットされる
。またクロックCLoがオンになるとき、フラグ制御回
路5ではデータレジスタDRのアドレス(図示の例では
O〜3)のうぢ、フラグ(後述する)がオフになってい
るもののうちの1つを信号線110を通してアドレスレ
ジスタAR。
にセントする。アドレスレジスタARoの内容はその後
クロックCLIJF、 DLDSがオンになる時に、
それぞれデータレジスタDRF、DR8のライト(WR
iTE)アドレスとなる(信号線113)。
クロックCLIJF、 DLDSがオンになる時に、
それぞれデータレジスタDRF、DR8のライト(WR
iTE)アドレスとなる(信号線113)。
命令発信回路2では、インストラクションレジスタtR
1〜iR3のどれかが空くと、クロックCLl”Cl3
のうちの1つがオンになり、対応するインストラクショ
ンレジスタとアドレスレジスタにそれぞれレジスタiR
o、ARoの内容を取り込む。また、演算装置(後述す
る)は命令の前後関係などから発信すべき命令を決定し
、セット信号seaにより、レジスタi RI” i
R3の1つをセレクトし、演算装置に命令を発信する。
1〜iR3のどれかが空くと、クロックCLl”Cl3
のうちの1つがオンになり、対応するインストラクショ
ンレジスタとアドレスレジスタにそれぞれレジスタiR
o、ARoの内容を取り込む。また、演算装置(後述す
る)は命令の前後関係などから発信すべき命令を決定し
、セット信号seaにより、レジスタi RI” i
R3の1つをセレクトし、演算装置に命令を発信する。
同時に対応するアドレスレジスタAR+〜AR3の1つ
を信号線112を通してフラグ制御回路5に送る。フラ
グ制御回路5では、送られてきたアドレスを信号線11
1を通してデータレジスタDRに伝え、2つのデータ1
st、2ndを演算装置へ送る。演算装置では、発信さ
れた命令及び2つのデータを受けとって処理を行なう。
を信号線112を通してフラグ制御回路5に送る。フラ
グ制御回路5では、送られてきたアドレスを信号線11
1を通してデータレジスタDRに伝え、2つのデータ1
st、2ndを演算装置へ送る。演算装置では、発信さ
れた命令及び2つのデータを受けとって処理を行なう。
第2図はフラグ制御回路5の詳細図で、210〜212
は第1図の信号線110〜112に相当する。230〜
233が第1図のデータレジスタDRの各アドレスO〜
3にあるデータの有効、無効を示すフラグであり、セッ
ト(S)/リセット(R)型のラッチを用いである。S
ET FLAGは第1図のクロックCLoがオンにな
るとき同時にオンになる信号で、フラグ230〜233
のセットタイミングを決定する。5TART 1NsT
RucTioNは命令発信時に第1図の命令発信回路2
から送られてくる信号で、フラグ230〜233のリセ
ットタイミングを決定する。222は信号線212上の
アドレスをデコードしてどのアドレスのフラグかを示す
デコーダ、221はフラグの状態によって空いているア
ドレスを示すセレクト回路、220はセレクトされたア
ドレスをエンコードするエンコーダである。尚、セレク
ト回路221の出力ALL BUSYは、全てのアド
レスのデータが有効でそれ以上データを取り込めないこ
とを示す信号である。またRARは信号線212(第1
図の112)上の信号をラッチして信号線211(第1
図の111)の信号とし、これを第1図のデータレジス
タDRに送るレジスタである。
は第1図の信号線110〜112に相当する。230〜
233が第1図のデータレジスタDRの各アドレスO〜
3にあるデータの有効、無効を示すフラグであり、セッ
ト(S)/リセット(R)型のラッチを用いである。S
ET FLAGは第1図のクロックCLoがオンにな
るとき同時にオンになる信号で、フラグ230〜233
のセットタイミングを決定する。5TART 1NsT
RucTioNは命令発信時に第1図の命令発信回路2
から送られてくる信号で、フラグ230〜233のリセ
ットタイミングを決定する。222は信号線212上の
アドレスをデコードしてどのアドレスのフラグかを示す
デコーダ、221はフラグの状態によって空いているア
ドレスを示すセレクト回路、220はセレクトされたア
ドレスをエンコードするエンコーダである。尚、セレク
ト回路221の出力ALL BUSYは、全てのアド
レスのデータが有効でそれ以上データを取り込めないこ
とを示す信号である。またRARは信号線212(第1
図の112)上の信号をラッチして信号線211(第1
図の111)の信号とし、これを第1図のデータレジス
タDRに送るレジスタである。
動作を説明する。セレクト回路221により有効でない
データ(すでに演算装置へ送出されたデータ)のアドレ
ス(フラグはりセント状態)をセレクトしく値の小さい
ものを優先)、それをエンコーダi20でコード化した
後信号線210(第1図の110)の信号として第1図
のアドレスレジスタARoに伝える。データレジスタD
Rの各アドレス及び該各アドレスに対応するフラグ23
0〜233は本例では4個であるから2値2ビツトで表
わされ、230は00,231は01,232は10.
233は11が割当てられている。
データ(すでに演算装置へ送出されたデータ)のアドレ
ス(フラグはりセント状態)をセレクトしく値の小さい
ものを優先)、それをエンコーダi20でコード化した
後信号線210(第1図の110)の信号として第1図
のアドレスレジスタARoに伝える。データレジスタD
Rの各アドレス及び該各アドレスに対応するフラグ23
0〜233は本例では4個であるから2値2ビツトで表
わされ、230は00,231は01,232は10.
233は11が割当てられている。
これらのフラグのリセット及びこれらのフラグによるデ
ータレジスタDRの空きアドレスの指定もこの2値2ビ
ツトで行なわれる。例えばフラグ230のみリセットの
場合は信号線は210は00の状態になり、また信号線
212が00の状態になってフラグ230のリセッ1−
が行なわれる。信号線210の信号がクロックCLoオ
ンでレジスタARaにセントされたら、同時に対応する
アドレスのフラグ(230〜233のいずれか)をセッ
トする。また命令発信回路2で命令が発信されると、5
TART 1NsTRucTioNと共に信号線212
のアドレスが送られ、対応するフラグをリセットする。
ータレジスタDRの空きアドレスの指定もこの2値2ビ
ツトで行なわれる。例えばフラグ230のみリセットの
場合は信号線は210は00の状態になり、また信号線
212が00の状態になってフラグ230のリセッ1−
が行なわれる。信号線210の信号がクロックCLoオ
ンでレジスタARaにセントされたら、同時に対応する
アドレスのフラグ(230〜233のいずれか)をセッ
トする。また命令発信回路2で命令が発信されると、5
TART 1NsTRucTioNと共に信号線212
のアドレスが送られ、対応するフラグをリセットする。
またアドレスはレジスタRARにラッチされ、信号線2
11のリード(READ)アドレスとして第1図のデー
タレジスタDRに送られ、発信された命令で処理すべき
データが読み出され演算装置に送られる。また以上とは
別に、すべてのフラグ230〜233がセット状態にな
ると、ALLBUSY信号がオンになる。この信号は命
令取込み回路1全体を制御する制御部に送られ、それ以
上命令がレジスタiRoに取り込まれるのを防止する。
11のリード(READ)アドレスとして第1図のデー
タレジスタDRに送られ、発信された命令で処理すべき
データが読み出され演算装置に送られる。また以上とは
別に、すべてのフラグ230〜233がセット状態にな
ると、ALLBUSY信号がオンになる。この信号は命
令取込み回路1全体を制御する制御部に送られ、それ以
上命令がレジスタiRoに取り込まれるのを防止する。
従来の計算機ではレジスタiRはインストラクション用
、レジスタDRはデータ用に固定され、相互に融通し合
うようなことはない。しかし科学計算機ではデータレジ
スタが多量に必要であり、事務用計算機ではインストラ
クションレジスタが多量に必要であり、一方に好適に設
計すれば他方には不充分となる。そこで本発明はプログ
ラムに応じてハードウェアを変更する。
、レジスタDRはデータ用に固定され、相互に融通し合
うようなことはない。しかし科学計算機ではデータレジ
スタが多量に必要であり、事務用計算機ではインストラ
クションレジスタが多量に必要であり、一方に好適に設
計すれば他方には不充分となる。そこで本発明はプログ
ラムに応じてハードウェアを変更する。
第3図は本発明の一実施例で、上述したようにインスト
ラクションレジスタIRやデータレジスタDRのような
情報保持部を複数持つ装置において、それらの容量のバ
ランスをソフトウェアの性質に応じて自動的に変更しよ
うとするものである。
ラクションレジスタIRやデータレジスタDRのような
情報保持部を複数持つ装置において、それらの容量のバ
ランスをソフトウェアの性質に応じて自動的に変更しよ
うとするものである。
第1図の例ではインストラクションレジスタ+ R。
〜iR3の数とデータレジスタDRFまたはDR8の数
は共に4個(固定)であるが、実際の命令では外部デー
タを使わないものも多く (例えば内部レジスタのみを
オペランドとする命令)、従ってソフトウェアによって
データレジスタDRの使用率が異なる。そこで本例では
補助情報保持部SRを設け、これを】RとしてもDRと
しても使用できるようにする。全図を通してそうである
が、第3図でも他の図と同じ部分には同じ符号が付して
あり、そして301〜313はそれぞれ第1図の信号線
IO1〜113に対応する。データレジスタDRF、D
R8は共に1段減らして3段としてあり、信号線313
をデコーダ324でデコードした出力327(DRの0
〜2のアドレスを指定)によりバス線301上の入力デ
ータをセットするデータレジスタDRが選択される。3
00は構造変更信号で、レジスタSRP、SRsをそれ
ぞれインストラクションおよびアドレスレジスタiRo
’ 、ARo′として使う(第4図)か、4段目のデー
タレジスタDRp 3 、DR63として使う(第5図
)かを選択する。つまり、信号300が1のときは、第
4図のような構成になる。これば、第3図においてセレ
クタ320〜323が信号300で切り替られることに
よって自動的に実現される。逆に信号300が0のとき
は第5図5のような構成になる。これはセレクタ320
〜323の状態が第4図と逆になることによって実現さ
れる。328はデコーダ324の出力で、データレジス
タDRの3、つまりDRF 3 、 DRs 3を選
択することを示す信号である。なお331゜332はク
ロックCLO,CLDF、CLDSの切換えゲートであ
る。
は共に4個(固定)であるが、実際の命令では外部デー
タを使わないものも多く (例えば内部レジスタのみを
オペランドとする命令)、従ってソフトウェアによって
データレジスタDRの使用率が異なる。そこで本例では
補助情報保持部SRを設け、これを】RとしてもDRと
しても使用できるようにする。全図を通してそうである
が、第3図でも他の図と同じ部分には同じ符号が付して
あり、そして301〜313はそれぞれ第1図の信号線
IO1〜113に対応する。データレジスタDRF、D
R8は共に1段減らして3段としてあり、信号線313
をデコーダ324でデコードした出力327(DRの0
〜2のアドレスを指定)によりバス線301上の入力デ
ータをセットするデータレジスタDRが選択される。3
00は構造変更信号で、レジスタSRP、SRsをそれ
ぞれインストラクションおよびアドレスレジスタiRo
’ 、ARo′として使う(第4図)か、4段目のデー
タレジスタDRp 3 、DR63として使う(第5図
)かを選択する。つまり、信号300が1のときは、第
4図のような構成になる。これば、第3図においてセレ
クタ320〜323が信号300で切り替られることに
よって自動的に実現される。逆に信号300が0のとき
は第5図5のような構成になる。これはセレクタ320
〜323の状態が第4図と逆になることによって実現さ
れる。328はデコーダ324の出力で、データレジス
タDRの3、つまりDRF 3 、 DRs 3を選
択することを示す信号である。なお331゜332はク
ロックCLO,CLDF、CLDSの切換えゲートであ
る。
以上の例では第1図の命令取込み回路1のレジスタlR
o、ARoに対し同種のレジスタiR。
o、ARoに対し同種のレジスタiR。
ARa′を追加したが、命令発信回路2内のレジスタを
iR+〜iR4,AR+〜ARaのように4段構成とし
てもよい。いずれの場合もデータ用に使用できるレジス
タSRr、、SR6を用いるので、第4図に斜線で示す
ようにアドレスレジスタARでは一部未使用の部分が生
ずる。
iR+〜iR4,AR+〜ARaのように4段構成とし
てもよい。いずれの場合もデータ用に使用できるレジス
タSRr、、SR6を用いるので、第4図に斜線で示す
ようにアドレスレジスタARでは一部未使用の部分が生
ずる。
第4図の構成にした時には、第2図のフラグ制御回路5
も変更しなければならない(データレジスタDRの数が
3個に減るので)。このための変更機能部分を第6図に
示す。同図において、621.633はそれぞれ第2図
の221.233に対応する。640が追加となるオア
ゲートである。
も変更しなければならない(データレジスタDRの数が
3個に減るので)。このための変更機能部分を第6図に
示す。同図において、621.633はそれぞれ第2図
の221.233に対応する。640が追加となるオア
ゲートである。
600は第3図の300と同じ構造変更信号で、これが
1のときは、オアゲート640の出力が常に1となり、
第2図においてフラグ230〜232が全てセットされ
た状態、すなわちデータレジスタDR(3個)が全てデ
ータで満たされた状態と等価になり、→〜A、LL
BUSY信号が1となる。
1のときは、オアゲート640の出力が常に1となり、
第2図においてフラグ230〜232が全てセットされ
た状態、すなわちデータレジスタDR(3個)が全てデ
ータで満たされた状態と等価になり、→〜A、LL
BUSY信号が1となる。
以上の実施例はハードウェアのうちのレジスタ構成を自
動的に変更する(ソフトウェアの性質によるところは後
述する)例を示したが、変更対象とするハードウェアは
これに限定されない。第7図以下はヘクトルアクセス制
御装置の制御変更に適用した例である。
動的に変更する(ソフトウェアの性質によるところは後
述する)例を示したが、変更対象とするハードウェアは
これに限定されない。第7図以下はヘクトルアクセス制
御装置の制御変更に適用した例である。
複数のデータ(ベクトルデータ)を高速に処理する81
算機においては、演算命令等を実行するにあたりなるべ
くメインメモリ (MEM)を使わず、内部レジスタ(
VR)だけで処理することが望まれる。ベクトルレジス
タとも呼ばれるこの内部レジスタVRは1つ又は複数個
のエレメントよりなり、各エレメントに1つずつデータ
が保持される。
算機においては、演算命令等を実行するにあたりなるべ
くメインメモリ (MEM)を使わず、内部レジスタ(
VR)だけで処理することが望まれる。ベクトルレジス
タとも呼ばれるこの内部レジスタVRは1つ又は複数個
のエレメントよりなり、各エレメントに1つずつデータ
が保持される。
そして、一般にはエレメント0から順番に処理され、そ
の結果が他のVRに書き込まれる。このためにばVRの
数が多い程よい。複数のVRの集合はベクトルレジスタ
群(V RG)と呼ばれるが、このしかし、VRGの容
量の制限あるいはソフトウェアの性質等によりMEMと
VRGとの間にはある頻度で必ずデータ転送が必要とな
る。メモリアクセス制御装置(VSu)は例えばアクセ
ス制御部(以後アクセスパイプあるいは単にパイプと記
す)を複数設けて上記のデータ転送を効率よく制御する
ようにされる。
の結果が他のVRに書き込まれる。このためにばVRの
数が多い程よい。複数のVRの集合はベクトルレジスタ
群(V RG)と呼ばれるが、このしかし、VRGの容
量の制限あるいはソフトウェアの性質等によりMEMと
VRGとの間にはある頻度で必ずデータ転送が必要とな
る。メモリアクセス制御装置(VSu)は例えばアクセ
ス制御部(以後アクセスパイプあるいは単にパイプと記
す)を複数設けて上記のデータ転送を効率よく制御する
ようにされる。
第7図はベクトルデータを高速処理する機能を備えた情
報処理装置全体のブロック図で、11はメインメモリ(
MEM) 、12はメモリ制御装置(MCu) 、13
はエレメントが1つのスカラデータを処理するスカラデ
ータ処理装置、14はチャネル装置(CHP) 、15
ば外部の入出力装置(Ilo)である。破線枠16内が
ベクトルデータ処理装置(Vu:ベクトルレジスタ)で
、ここにはベクトルレジスタ群(VRG)17、メモリ
アクセス制御装置(VSu)18、先の例で示した命令
制御装置(Vlu)19および演算装置(VEu)20
が含まれる。VRG17は前述のように複数のベクトル
レジスタVRから構成されるが、演算装置20はVRを
オペランドとして各種演算命令等を実行する。この演算
装置20には加算用のADD加算器20A1乗算用のl
yl u L T i演算器20B、除算用+7)Di
ViDE演算器20Cがある。前述した命令制御装置9
はこのメモリアクセス制御装置18と演算装置20への
命令発信を制御する。図中、ITは命令発信、Dはデー
タ、■は命令の流れを示す。
報処理装置全体のブロック図で、11はメインメモリ(
MEM) 、12はメモリ制御装置(MCu) 、13
はエレメントが1つのスカラデータを処理するスカラデ
ータ処理装置、14はチャネル装置(CHP) 、15
ば外部の入出力装置(Ilo)である。破線枠16内が
ベクトルデータ処理装置(Vu:ベクトルレジスタ)で
、ここにはベクトルレジスタ群(VRG)17、メモリ
アクセス制御装置(VSu)18、先の例で示した命令
制御装置(Vlu)19および演算装置(VEu)20
が含まれる。VRG17は前述のように複数のベクトル
レジスタVRから構成されるが、演算装置20はVRを
オペランドとして各種演算命令等を実行する。この演算
装置20には加算用のADD加算器20A1乗算用のl
yl u L T i演算器20B、除算用+7)Di
ViDE演算器20Cがある。前述した命令制御装置9
はこのメモリアクセス制御装置18と演算装置20への
命令発信を制御する。図中、ITは命令発信、Dはデー
タ、■は命令の流れを示す。
第8図はVRG17の構成例である。このVRG17に
は例えばアクセスタイムが1τ(Vuのクロックサイク
ル)以下のRAMを使用し、インタリーブ構成としであ
る。即ちVRGを構成する各レジスタVRQ−VR25
5の同じ番号のエレメントを1群としてバンクとし、そ
してこのバンクが8個で1つのVRGが構成されるもの
とし、VSu内の複数のアクセス制御部からのアクセス
タイミングをこのバンク単位で異ならせる(ずらす)よ
うにする。このようにインタリーブ構成とすると、複数
のパイプ(アクセス制御部)で同時に同じVRGをかち
合うことなくアクセスすることができる。第9図はこの
説明図である(後述する)。
は例えばアクセスタイムが1τ(Vuのクロックサイク
ル)以下のRAMを使用し、インタリーブ構成としであ
る。即ちVRGを構成する各レジスタVRQ−VR25
5の同じ番号のエレメントを1群としてバンクとし、そ
してこのバンクが8個で1つのVRGが構成されるもの
とし、VSu内の複数のアクセス制御部からのアクセス
タイミングをこのバンク単位で異ならせる(ずらす)よ
うにする。このようにインタリーブ構成とすると、複数
のパイプ(アクセス制御部)で同時に同じVRGをかち
合うことなくアクセスすることができる。第9図はこの
説明図である(後述する)。
各へクトルレジスタVRo、VR+・・・・・・ノエレ
メイト数は可変でもよいが、簡単のため8を基本とする
。実際に有効なエレメントの数はベクトルレングスVL
によって与えられる。1つのVRGを構成するVRの数
は256とし、8ビツトのアドレスで指定される。エレ
メントの割り付けは、VRGが1つの場合バンクnに対
してエレメントnを対応させる。第8図でEはエレメン
トで、その中の数字はエレメント番号である。
メイト数は可変でもよいが、簡単のため8を基本とする
。実際に有効なエレメントの数はベクトルレングスVL
によって与えられる。1つのVRGを構成するVRの数
は256とし、8ビツトのアドレスで指定される。エレ
メントの割り付けは、VRGが1つの場合バンクnに対
してエレメントnを対応させる。第8図でEはエレメン
トで、その中の数字はエレメント番号である。
第7図の命令制御装置19にはベクトルレングスレジス
タVLRがあり、そこには制御命令によってVLの値が
セットされる。このV Lは有効なエレメントの数を示
す。メモリアクセス制御装置(VSu)1BではVLで
示される数のデータをMEMIIとVRG17の間で転
送する。また演算装置20ではVLで示される数のデー
タを同一命令で処理する。
タVLRがあり、そこには制御命令によってVLの値が
セットされる。このV Lは有効なエレメントの数を示
す。メモリアクセス制御装置(VSu)1BではVLで
示される数のデータをMEMIIとVRG17の間で転
送する。また演算装置20ではVLで示される数のデー
タを同一命令で処理する。
第9図はベクトルレジスタVRの最初のエレメント(エ
レメント番号O)をアクセスするタイミングを、各アク
セス源(パイプ、演算器)ごとに規定するバンクタイミ
ングのタイムチャートで、K、 El、 F2. F3
. L、 Fl、 F2. F3の8つのタイミングが
サイクリックに繰り返される。
レメント番号O)をアクセスするタイミングを、各アク
セス源(パイプ、演算器)ごとに規定するバンクタイミ
ングのタイムチャートで、K、 El、 F2. F3
. L、 Fl、 F2. F3の8つのタイミングが
サイクリックに繰り返される。
このうちに、Lはパイプ用、ElないしFl、F2ない
しF2.’B3ないしF3は演算器用で、それぞれ命令
語のR1,R2,R3部で指定されるVRをアクセスす
る。l命令語は1バイト(8ビツト)のオペレーション
コード部(OP)とそれに続(3つのベクトルデータオ
ペランド部R1,R2、R3(各1バイト)からなり、
一般にR2゜R3で示されるVRのベクトルデータに対
し、各同一番号のエレメントごとにOPで示される演算
を実行し、その結果をR1で示されるVRの同一番号の
エレメントに書き込む。
しF2.’B3ないしF3は演算器用で、それぞれ命令
語のR1,R2,R3部で指定されるVRをアクセスす
る。l命令語は1バイト(8ビツト)のオペレーション
コード部(OP)とそれに続(3つのベクトルデータオ
ペランド部R1,R2、R3(各1バイト)からなり、
一般にR2゜R3で示されるVRのベクトルデータに対
し、各同一番号のエレメントごとにOPで示される演算
を実行し、その結果をR1で示されるVRの同一番号の
エレメントに書き込む。
第1O図は本発明の他の実施例で、2パイプ型のメモリ
アクセス制御装置によって1つのVRGを扱う場合の制
御変更機能を示しである。同図において破線枠の100
OA、100OB (以下A。
アクセス制御装置によって1つのVRGを扱う場合の制
御変更機能を示しである。同図において破線枠の100
OA、100OB (以下A。
Bは略す)は2台のパイプ(アクセス制御部)で、これ
に制御回路等を付加すると第7図のメモリアクセス制御
装置(VSu)8となる。1010(簡単化のため添字
A、Bは適宜省略する、他のものも同様)は双方向バス
で、ゲートの切換えによってメモリ制御装置(MCu)
12へ入出力する双方向データを転送する。1001は
MCu12からのフェッチデータを保持するフェッチデ
ータレジスタ(FDR) 、1002は逆にMCu2へ
のストアデータを保持するストアデータレジスタ(SD
R) 、1003はデータ列を再配列するアライン回路
(ALiGN) 、1004はアラインレジスタスタッ
ク(AR3) 、1020はベクトルレジスタ群である
。
に制御回路等を付加すると第7図のメモリアクセス制御
装置(VSu)8となる。1010(簡単化のため添字
A、Bは適宜省略する、他のものも同様)は双方向バス
で、ゲートの切換えによってメモリ制御装置(MCu)
12へ入出力する双方向データを転送する。1001は
MCu12からのフェッチデータを保持するフェッチデ
ータレジスタ(FDR) 、1002は逆にMCu2へ
のストアデータを保持するストアデータレジスタ(SD
R) 、1003はデータ列を再配列するアライン回路
(ALiGN) 、1004はアラインレジスタスタッ
ク(AR3) 、1020はベクトルレジスタ群である
。
ここまでの構成は既提案のものと同様である。
先ずその動作を説明するに、+11データフエツチ命令
の場合には双方向バス1010を通してMCu12から
送られた各4工レメント分のデータはしジスタ1001
に入り、アライン回路1003を通して正しいエレメン
ト類に並べ変えられた後スタ・ツク1004に保持され
る。スタック1004に保持されたデータはFiFo
(ファーストイン、ファーストアウト)式に取り出さ
れ、バンクタイムが取れた時に1エレメントごとにVR
G1020の該当するVRに書き込まれる。(2)デー
タストア命令の場合にはバンクタイムが取れた時に1エ
レメントごとにVRからデータが読み出されスタックl
004に保持される。そして、スタック1004に保持
されたデータはFiFo式に取り出され、アライン回路
1003を通してメモリ11(第7図)のアドレス順に
並べ変えられた後レジスタ1002に入り、双方向バス
1010を通してMCu12に送られる。
の場合には双方向バス1010を通してMCu12から
送られた各4工レメント分のデータはしジスタ1001
に入り、アライン回路1003を通して正しいエレメン
ト類に並べ変えられた後スタ・ツク1004に保持され
る。スタック1004に保持されたデータはFiFo
(ファーストイン、ファーストアウト)式に取り出さ
れ、バンクタイムが取れた時に1エレメントごとにVR
G1020の該当するVRに書き込まれる。(2)デー
タストア命令の場合にはバンクタイムが取れた時に1エ
レメントごとにVRからデータが読み出されスタックl
004に保持される。そして、スタック1004に保持
されたデータはFiFo式に取り出され、アライン回路
1003を通してメモリ11(第7図)のアドレス順に
並べ変えられた後レジスタ1002に入り、双方向バス
1010を通してMCu12に送られる。
本例では各パイプ100OA、100OBにゲートロジ
ック(OL)1005A、1005Bを追加してこれを
構造変更信号1030で制御する。
ック(OL)1005A、1005Bを追加してこれを
構造変更信号1030で制御する。
ゲートロジック1005は入力データを出力側に伝える
か否かを制御するゲート群より成り、構造変更信号10
30がOのときはゲートが閉し、■のときはゲートが開
く。以下では該信号1030がOのときを1パイプモー
ド、1のときを2パイプモードと呼び、各モードの動作
を説明する。
か否かを制御するゲート群より成り、構造変更信号10
30がOのときはゲートが閉し、■のときはゲートが開
く。以下では該信号1030がOのときを1パイプモー
ド、1のときを2パイプモードと呼び、各モードの動作
を説明する。
1パイプモード:このときはゲートロジック1005A
、1005Bが閉じているので、スタック1004A(
AR3A)はVRG1020のバンク0〜3のみと接続
され、またスタック1004B (AR3B)はVRG
1020のバンク4〜7のみと接続される。この場合に
はパイプ1000A、100OBは同一命令を同時に実
行できる。つまり第9図において、パイプ100OA。
、1005Bが閉じているので、スタック1004A(
AR3A)はVRG1020のバンク0〜3のみと接続
され、またスタック1004B (AR3B)はVRG
1020のバンク4〜7のみと接続される。この場合に
はパイプ1000A、100OBは同一命令を同時に実
行できる。つまり第9図において、パイプ100OA。
1000B共にKまたはLのいずれか(一方が実線、他
方が破線)のタイミングで同時にVRのアクセスを開始
する。そして、パイプ100OAはエレメントOから3
を、またパイプ100OBはエレメント4から7を扱い
、そこにデータをライトまたはリードする。VRのアク
セス開始とはその最初のバンクからのアクセス開始を示
すので、これが同じであるとかち合う恐れがあるが、V
RをO〜3,4〜7の2群に分ければそのアクセス開始
バンクは0と4であり、以後一方は1,2゜3、 0.
1.・・・・・・、他方は5,6,7,4,5゜・・
・・・・と進んで行くので、かち合うことはない。
方が破線)のタイミングで同時にVRのアクセスを開始
する。そして、パイプ100OAはエレメントOから3
を、またパイプ100OBはエレメント4から7を扱い
、そこにデータをライトまたはリードする。VRのアク
セス開始とはその最初のバンクからのアクセス開始を示
すので、これが同じであるとかち合う恐れがあるが、V
RをO〜3,4〜7の2群に分ければそのアクセス開始
バンクは0と4であり、以後一方は1,2゜3、 0.
1.・・・・・・、他方は5,6,7,4,5゜・・
・・・・と進んで行くので、かち合うことはない。
2パイプモード:このときはゲートロジック1005A
、1005Bが開くので、スタッカ1004A、100
4Bは共にVRG1020のバンクθ〜7と接続される
。この場合は第9図に実線で示すようにパイプ100O
Aとパイプ1000Bでバンクタイムを異ならせ(一方
がKで、他方がL) 、VRG1020の同じバンクに
同時にパイプ100OAとパイプ100OBがアクセス
(衝突)することがないようにした上で、両パイプを独
立に動作可能として同時に2命令を実行させる。
、1005Bが開くので、スタッカ1004A、100
4Bは共にVRG1020のバンクθ〜7と接続される
。この場合は第9図に実線で示すようにパイプ100O
Aとパイプ1000Bでバンクタイムを異ならせ(一方
がKで、他方がL) 、VRG1020の同じバンクに
同時にパイプ100OAとパイプ100OBがアクセス
(衝突)することがないようにした上で、両パイプを独
立に動作可能として同時に2命令を実行させる。
上述した各モードの長所、短所は次の通りである。1パ
イプモードではl命令しか実行できないが、VRをエレ
メントOから7までアクセスするのに4τで済む。これ
に対し2パイプモードでは同時に2命令実行できるが、
VRをエレメント0から7までアクセスするのに8τか
かる。従って、メモリアクセス命令の頻度が多い場合、
2パイプモードの方が同時に2命令実行でき有利であり
、メモリアクセス命令の頻度が少ない場合は、1パイプ
モードの方がデータ転送量が2倍になるので有利になる
。
イプモードではl命令しか実行できないが、VRをエレ
メントOから7までアクセスするのに4τで済む。これ
に対し2パイプモードでは同時に2命令実行できるが、
VRをエレメント0から7までアクセスするのに8τか
かる。従って、メモリアクセス命令の頻度が多い場合、
2パイプモードの方が同時に2命令実行でき有利であり
、メモリアクセス命令の頻度が少ない場合は、1パイプ
モードの方がデータ転送量が2倍になるので有利になる
。
以上、構造変更信号によってハードウェアの構造を変更
する例を2つ説明したが、次にこの構造変更信号をソフ
トウェアの性質を判断して切換える制御部について説明
する。この制御部の基本的な考え方には2通りある。1
つは命令タイプを記録してその結果によりハードウェア
の構造変更をしようとするもの(第11図)、他の1つ
はハードウェアの使用状況により論理変更するものであ
る。
する例を2つ説明したが、次にこの構造変更信号をソフ
トウェアの性質を判断して切換える制御部について説明
する。この制御部の基本的な考え方には2通りある。1
つは命令タイプを記録してその結果によりハードウェア
の構造変更をしようとするもの(第11図)、他の1つ
はハードウェアの使用状況により論理変更するものであ
る。
第11図は第3図で必要な構造変更信号1181 (第
3図では300)を発生するに適した制御部の構成例で
、以下の条件を前提とする。(11命令タイプとして外
部データを使用する命令(ED命令)のみ記録する。(
2)記録期間は、第3図のインストラクションレジスタ
iRoに投入された命令の回数、すなわちクロックCL
oがオンになった回数nを計数し、これが予め定められ
た数Nに等しくなるまでとする。(3)上記の期間中E
D命令の回数Xを計数し、その計数値が予め定められた
数X以上になったら、第3図の構成を第5図に変更する
。
3図では300)を発生するに適した制御部の構成例で
、以下の条件を前提とする。(11命令タイプとして外
部データを使用する命令(ED命令)のみ記録する。(
2)記録期間は、第3図のインストラクションレジスタ
iRoに投入された命令の回数、すなわちクロックCL
oがオンになった回数nを計数し、これが予め定められ
た数Nに等しくなるまでとする。(3)上記の期間中E
D命令の回数Xを計数し、その計数値が予め定められた
数X以上になったら、第3図の構成を第5図に変更する
。
第11図におけるバッファ1100、信号線1101、
クロックCLo(信号線1102)はそれぞれ第3図の
バッファ4、信号線301、クロックCLoに相当する
。カウンタ1150はクロックCLoがオンになるたび
に1からN(10とする)までカウントアンプし、N+
1回目にクロックCLoがオンになると計数値nを1に
もどす。
クロックCLo(信号線1102)はそれぞれ第3図の
バッファ4、信号線301、クロックCLoに相当する
。カウンタ1150はクロックCLoがオンになるたび
に1からN(10とする)までカウントアンプし、N+
1回目にクロックCLoがオンになると計数値nを1に
もどす。
このカウンタ1150の計数値nは信号線1151に2
進数として4ビツトで出力される。1160はN=n、
つまりカウンタ1150の値nが10 (=N)になっ
たことを検出する回路で、予めラッチ1161〜116
4に2進数4ビツトでN値10 (2進数では1010
)をセットしておき、その出力と信号線1151が一致
したらゲート1165の出力1166を1とする。カウ
ンタ1120、−数構出回路1130についても動作は
上記と同様であるが、カウンタ1120はシリアライズ
エンド信号1171 (後述)が1になると値Xが0に
セントされる。1180はセット(S)優先のセット/
リセット型ラッチで、リセット(R)入力が1になると
りセントされ出力1181は0となる。しかし、R入力
が1でもS入力が1になるとセットが優先され出力11
81ば1となる。
進数として4ビツトで出力される。1160はN=n、
つまりカウンタ1150の値nが10 (=N)になっ
たことを検出する回路で、予めラッチ1161〜116
4に2進数4ビツトでN値10 (2進数では1010
)をセットしておき、その出力と信号線1151が一致
したらゲート1165の出力1166を1とする。カウ
ンタ1120、−数構出回路1130についても動作は
上記と同様であるが、カウンタ1120はシリアライズ
エンド信号1171 (後述)が1になると値Xが0に
セントされる。1180はセット(S)優先のセット/
リセット型ラッチで、リセット(R)入力が1になると
りセントされ出力1181は0となる。しかし、R入力
が1でもS入力が1になるとセットが優先され出力11
81ば1となる。
シリアライズ制御回路1170は信号線1166の信号
が1になると起動され、第1図のインストラクションレ
ジスタ(IR)に保持されている全命令が終了するまで
後続命令の実行を禁止しくクロックCLoをオンにしな
い)、すべてのレジスタIRが空き状態になった時点で
シリアライズエンド信号1171をオンにする。この動
作を命令のシリアライズと呼ぶ。
が1になると起動され、第1図のインストラクションレ
ジスタ(IR)に保持されている全命令が終了するまで
後続命令の実行を禁止しくクロックCLoをオンにしな
い)、すべてのレジスタIRが空き状態になった時点で
シリアライズエンド信号1171をオンにする。この動
作を命令のシリアライズと呼ぶ。
次に、全体の動作を説明する。n<Nの期間(信号線1
167が1となっている)、バッフ11100からED
命令が送られ、これをデコーダ1110でデコードする
とその出力が1となるので、クロックCLoが1になっ
た時に、アンドゲート1111の出力が1となり、カウ
ンタ1120を1つカウントアンプする。カウンタ11
20の値Xが回路1130による設定値X(この例では
5)になるとセット/リセット型ラッチ114oがセッ
トされる。
167が1となっている)、バッフ11100からED
命令が送られ、これをデコーダ1110でデコードする
とその出力が1となるので、クロックCLoが1になっ
た時に、アンドゲート1111の出力が1となり、カウ
ンタ1120を1つカウントアンプする。カウンタ11
20の値Xが回路1130による設定値X(この例では
5)になるとセット/リセット型ラッチ114oがセッ
トされる。
n=N(この例では10)になると信号線1160が1
となる。これによりまず信号線1167(信号線116
6をインバータで反転したもの)がOとなり、カウンタ
112oのカウントアツプは禁止される。またシリアラ
イズ制御回路1170が起動されることにより前述のシ
リアライズ動作が開始される。これが終わるとシリアラ
イズエンド信号1171がオンになる。
となる。これによりまず信号線1167(信号線116
6をインバータで反転したもの)がOとなり、カウンタ
112oのカウントアツプは禁止される。またシリアラ
イズ制御回路1170が起動されることにより前述のシ
リアライズ動作が開始される。これが終わるとシリアラ
イズエンド信号1171がオンになる。
この時x<Xであるとラッチ1140の出力「は1にな
っている(リセット状態)ので、ラッチ1180がセッ
トされ構造変更信号1181が1となる。またX≧Xで
あるとすでにラッチ1’ 140はセットされてその出
力が0になっているので、ラッチ1180はリセットさ
れ構造変更信号1181は0となる。
っている(リセット状態)ので、ラッチ1180がセッ
トされ構造変更信号1181が1となる。またX≧Xで
あるとすでにラッチ1’ 140はセットされてその出
力が0になっているので、ラッチ1180はリセットさ
れ構造変更信号1181は0となる。
また上記動作と同時にシリアライズエンド信号1171
がオンになると、カウンタ1120ば0セツトされる。
がオンになると、カウンタ1120ば0セツトされる。
この結果ラッチ1140はリセットされて初期値にもど
り、またクロックCLoの禁止も解かれて次のN期間の
動作が開始される。
り、またクロックCLoの禁止も解かれて次のN期間の
動作が開始される。
ここで、次のN期間の間はラッチ1180の値は不変で
ある。構造変更信号1181は第3図の300および第
6図の600につながれる。そして信号1181が1の
ときは次のN期間は第4図の構成となり、信号1181
が0のときは第5図の構成となる。
ある。構造変更信号1181は第3図の300および第
6図の600につながれる。そして信号1181が1の
ときは次のN期間は第4図の構成となり、信号1181
が0のときは第5図の構成となる。
なお、第11図ではラッチ1131〜1133゜・11
61〜1164の出力は定められたX、Nを出力するよ
うに設定されているが、この値は構成制御、0PSR(
オペレーション ステータスレジスタ)によって変える
ようにしてもよい。また第11図ではX=5.N=10
としたが、これらの値が小さいとシリアライズが頻繁に
起こり、それによるロスが構成変更によるメリ・7トよ
り大きくなり、かえって性能低下になる。従ってXやN
の値は、シリアライズによるロスが構成変更によるメリ
ットに比してずっと小さくなるようにある程度大きい値
を設定する必要がある。
61〜1164の出力は定められたX、Nを出力するよ
うに設定されているが、この値は構成制御、0PSR(
オペレーション ステータスレジスタ)によって変える
ようにしてもよい。また第11図ではX=5.N=10
としたが、これらの値が小さいとシリアライズが頻繁に
起こり、それによるロスが構成変更によるメリ・7トよ
り大きくなり、かえって性能低下になる。従ってXやN
の値は、シリアライズによるロスが構成変更によるメリ
ットに比してずっと小さくなるようにある程度大きい値
を設定する必要がある。
第12図は第1O図の機能を制御するに適した構造制御
信号1281 (第10図の1030)を発生ずる制御
部の例で、次の条件を前提とする。
信号1281 (第10図の1030)を発生ずる制御
部の例で、次の条件を前提とする。
(1)ハードウェアの使用状況として第10図のスタッ
カ1004B(AR3B)のうち実際使われているレジ
スタの個数rを用いる。(2)記録期間は、Nサイクル
(マシンサイクルのクロックがN回出る期間)とする。
カ1004B(AR3B)のうち実際使われているレジ
スタの個数rを用いる。(2)記録期間は、Nサイクル
(マシンサイクルのクロックがN回出る期間)とする。
(3)上記の期間にrが現在のハードウェア構造によっ
て定められた値R1ないしR2以上となった回数Xを計
数し、その計数値が予め定められた数X以上であったな
ら、第10図の論理を2パイプモードとする。
て定められた値R1ないしR2以上となった回数Xを計
数し、その計数値が予め定められた数X以上であったな
ら、第10図の論理を2パイプモードとする。
信号線1200は第1O図のスタック1004B (A
R3B)のうち実際使われているレジスタの個数rを伝
える。この個数rは第10図の回路を制御する論理部(
図示せず)から送られる値で、例えばスタック1004
Bのライト(WRiTF、)アドレスとリード(REA
D)アドレスの差を用いる。
R3B)のうち実際使われているレジスタの個数rを伝
える。この個数rは第10図の回路を制御する論理部(
図示せず)から送られる値で、例えばスタック1004
Bのライト(WRiTF、)アドレスとリード(REA
D)アドレスの差を用いる。
1210.1211はそれぞれ定められた値RI。
R2を保持するレジスタ、1212.1213はそれぞ
れr≧R+、r≧R2を検出し、条件が成立したら出力
に1を出す回路、1220.1230.1240,12
50,1260.1270゜1280はそれぞれ第11
図の1120.1130.1140,1150.116
0,1170゜1180と同じ回路である。ただしカウ
ンタ1250はクロックCLoではなくマシンサイクル
のクロックによってカウントアツプし、またカウントア
ツプを禁止する入力信号C0UNT UPiNHiB
iTが供給される。シリアライズ制御部1270はシリ
アライズ実行中(1261がオンになってからシリアラ
イズエンド信号1271がオンになるまでの間)を示す
信号1272 <シリアライズ エグゼキューション)
を出力する。
れr≧R+、r≧R2を検出し、条件が成立したら出力
に1を出す回路、1220.1230.1240,12
50,1260.1270゜1280はそれぞれ第11
図の1120.1130.1140,1150.116
0,1170゜1180と同じ回路である。ただしカウ
ンタ1250はクロックCLoではなくマシンサイクル
のクロックによってカウントアツプし、またカウントア
ツプを禁止する入力信号C0UNT UPiNHiB
iTが供給される。シリアライズ制御部1270はシリ
アライズ実行中(1261がオンになってからシリアラ
イズエンド信号1271がオンになるまでの間)を示す
信号1272 <シリアライズ エグゼキューション)
を出力する。
1282は1パイプモードを指示する信号、1283は
2パイプモードを指示する信号である。
2パイプモードを指示する信号である。
次に、全体の動作を説明する。シリアライズ制御が終り
、カウンタ1250が動作している状態では、信号12
73 (これは信号1272をインバータで反転したも
の)が1になり、アントゲ−)1214.1215が有
効になる。現在lパイプモードで動作中のときは信号1
282が1になり、ゲート1214が有効になる。この
状態では比較回路1212によってrとR1の値が比較
され、r≧R+であるとオアゲート1216の出力が1
となり、カウンタ1220がカウントアツプされる。2
パイプモードで動作中のときは信号1283が1になり
ゲート1215が有効になる。
、カウンタ1250が動作している状態では、信号12
73 (これは信号1272をインバータで反転したも
の)が1になり、アントゲ−)1214.1215が有
効になる。現在lパイプモードで動作中のときは信号1
282が1になり、ゲート1214が有効になる。この
状態では比較回路1212によってrとR1の値が比較
され、r≧R+であるとオアゲート1216の出力が1
となり、カウンタ1220がカウントアツプされる。2
パイプモードで動作中のときは信号1283が1になり
ゲート1215が有効になる。
この状態では比較回路1213によってrとR2の値が
比較され、r≧R2であるとゲート1216の出力が1
となり、カウンタ1220がカウントアツプ・、される
。以後の動作は第1図と同様である。かくして得られた
構造変更信号1281は第10図の1030になる。そ
して信号1281が0のときは、次のN期間は第1O図
の回路は1パイプモードとなり、逆に1のときは2パイ
プモムドとなる。
比較され、r≧R2であるとゲート1216の出力が1
となり、カウンタ1220がカウントアツプ・、される
。以後の動作は第1図と同様である。かくして得られた
構造変更信号1281は第10図の1030になる。そ
して信号1281が0のときは、次のN期間は第1O図
の回路は1パイプモードとなり、逆に1のときは2パイ
プモムドとなる。
第12図では1パイプモードと2パイプモードの状態に
よってrが比較される値をRI=6.R2=3としてい
るが、その理由は以下の通りである。つまり、1パイプ
モードの状態では、rが6になる回数Xが少ないという
ことは第7図のMEMをアクセスする命令が少なくスタ
ックAR3のオーバーフローが少ないので、次のN期間
にも1パイプモードにした方が有利であると推測される
からである。Xが大きい場合は逆のことが言える。
よってrが比較される値をRI=6.R2=3としてい
るが、その理由は以下の通りである。つまり、1パイプ
モードの状態では、rが6になる回数Xが少ないという
ことは第7図のMEMをアクセスする命令が少なくスタ
ックAR3のオーバーフローが少ないので、次のN期間
にも1パイプモードにした方が有利であると推測される
からである。Xが大きい場合は逆のことが言える。
2パイプモード状態では、rが3以上になる回数Xが少
ないということはスタックAR3Bがほとんど空いてお
り、パイプBがあまり動作してないことを示すので、次
のN期間には1パイプモードにした方が有利であると推
測されるからである。
ないということはスタックAR3Bがほとんど空いてお
り、パイプBがあまり動作してないことを示すので、次
のN期間には1パイプモードにした方が有利であると推
測されるからである。
Xが大きい場合は逆のことが言える。
なお第12図ではレジスタ1210.1211の出力は
定められた値となるように設定されているが、この値は
構成制御、0PSR等によって変えるようにしてもよい
。またXやNの値については第11図に関する記述と同
様のことが言える。
定められた値となるように設定されているが、この値は
構成制御、0PSR等によって変えるようにしてもよい
。またXやNの値については第11図に関する記述と同
様のことが言える。
発明の効果
以上述べたように本発明によれば、計算機自身がソフト
ウェアに適するように自動的にハードウェアないしファ
ームウェアの構造を変更できるので、TSS (タイム
シェアリングサービス)等の使用によりプログラムが頻
繁に変わるような状況においても各プログラムに最適な
性能を出す柔軟性に富み、より汎用的な計算機とするこ
とができる。
ウェアに適するように自動的にハードウェアないしファ
ームウェアの構造を変更できるので、TSS (タイム
シェアリングサービス)等の使用によりプログラムが頻
繁に変わるような状況においても各プログラムに最適な
性能を出す柔軟性に富み、より汎用的な計算機とするこ
とができる。
特に、多種多様なプログラムを流すような場合には非常
に有効となる。
に有効となる。
なお、実施例では単に2つの例を上げるにとどめたが、
これ以外にもさまざまな構造変更機能およびその制御部
が考えられる。またこれらの構造変更機能を随所に用い
ることにより、さらに柔軟性の高い計算機とすることが
できる。
これ以外にもさまざまな構造変更機能およびその制御部
が考えられる。またこれらの構造変更機能を随所に用い
ることにより、さらに柔軟性の高い計算機とすることが
できる。
なお前述した各実施例から明らかなように、本発明の実
施に際してはハードウェアに追加する部分があるので、
ハードウェアの量を増大させるが、これはVLS iの
発達により解決できる。つまりVLSiでは内部のゲー
ト数は飛躍的に増加するが、外部とのインタフェースで
あるビンの数はそれに見合うだけ増やせないという事情
がある。そこで従来通りの設計をVLS iで実現した
場合未使用のゲートが相当散出ることになる。そこで本
発明のように多数のゲート数を使用する場合でもビン数
は1本ないし数方増えるだけで済み、しかも使用するゲ
ートの何%かは本来のビン数では使用できないものを使
用しているに過ぎないという利点がある。
施に際してはハードウェアに追加する部分があるので、
ハードウェアの量を増大させるが、これはVLS iの
発達により解決できる。つまりVLSiでは内部のゲー
ト数は飛躍的に増加するが、外部とのインタフェースで
あるビンの数はそれに見合うだけ増やせないという事情
がある。そこで従来通りの設計をVLS iで実現した
場合未使用のゲートが相当散出ることになる。そこで本
発明のように多数のゲート数を使用する場合でもビン数
は1本ないし数方増えるだけで済み、しかも使用するゲ
ートの何%かは本来のビン数では使用できないものを使
用しているに過ぎないという利点がある。
例えば単純な例として1つのVLS i内に2種の構造
を作っておき、外部からの信号で切換えるようにすれば
、ゲート数は約2倍となるがビン数は1本増えるだけで
済む。
を作っておき、外部からの信号で切換えるようにすれば
、ゲート数は約2倍となるがビン数は1本増えるだけで
済む。
第1図は構造変更機能のない従来の命令制御装置の一例
を示す構成図、第2図はそのフラグ制御回路の詳細図、
第3図は上記の命令制御装置に通用した本発明の一実施
例を示す構成図、第4図および第5図はその要部の構造
変更状態を示す説明図、第6図は第4図の構造変更に伴
うフラグ制御回路への追加部分を示す要部構成図、第7
図は複数のデータを高速処理する情報処理装置全体の概
略構成図、第8図はそのベク]・ルデーク処理装置内に
設けられるベクトルレジスタ群の説明図、第9図は該レ
ジスフ群へのアクセスタイミングを示すタイムチャート
、第10図は該ベクトルデータ処理装置内に設けられる
メモリアクセス制御装置に適用した本発明の他の実施例
を示す構成図、第11図は命令タイプを記録してその結
果により構造変更信号を発生する制御部の例を示す構成
図、第12図はハードウェアの使用状況によって構造変
更信号を発生ずる制御部の例を示す構成図である。 図面で1130.1160.1180及び1212.1
213.1220,1230,1260゜1280は実
行中ソフトウェアの性質を判断する制御部、320,3
21,322,323,331.332及び1005A
、Bはハードウェアの構成を変更する機能、300,1
030,1181.1281は構造変更信号である。 出願人 富士通株式会社 代理人弁理士 青 柳 稔第4図 1番5図 第71メl 第80I RG 第9日
を示す構成図、第2図はそのフラグ制御回路の詳細図、
第3図は上記の命令制御装置に通用した本発明の一実施
例を示す構成図、第4図および第5図はその要部の構造
変更状態を示す説明図、第6図は第4図の構造変更に伴
うフラグ制御回路への追加部分を示す要部構成図、第7
図は複数のデータを高速処理する情報処理装置全体の概
略構成図、第8図はそのベク]・ルデーク処理装置内に
設けられるベクトルレジスタ群の説明図、第9図は該レ
ジスフ群へのアクセスタイミングを示すタイムチャート
、第10図は該ベクトルデータ処理装置内に設けられる
メモリアクセス制御装置に適用した本発明の他の実施例
を示す構成図、第11図は命令タイプを記録してその結
果により構造変更信号を発生する制御部の例を示す構成
図、第12図はハードウェアの使用状況によって構造変
更信号を発生ずる制御部の例を示す構成図である。 図面で1130.1160.1180及び1212.1
213.1220,1230,1260゜1280は実
行中ソフトウェアの性質を判断する制御部、320,3
21,322,323,331.332及び1005A
、Bはハードウェアの構成を変更する機能、300,1
030,1181.1281は構造変更信号である。 出願人 富士通株式会社 代理人弁理士 青 柳 稔第4図 1番5図 第71メl 第80I RG 第9日
Claims (3)
- (1)ハードウェア及びそれを動作させるファームウェ
ア及びソフトウェアを有する情報処理装置に、現在実行
中のソフトウェアの性質を判断する制御部と、その判断
結果に応じてハードウェアまたはファームウェアの構成
ないし論理を該ソフトウェアに適合する形態に変更する
機能とを設けてなることを特徴とする情報処理装置。 - (2)制御部が、所定期間内に投入あるいは実行された
1種もしくは複数種の命令タイプを記録し、その結果か
らソフトウェアの性質を判断するものであることを特徴
とする特許請求の範囲第1項記載の情報処理装置。 - (3)制御部が、所定期間内のハードウェアの使用状況
を記録し、その結果からソフトウェアの性質を判断する
ものであることを特徴とする特許請求の範囲第1項記載
の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9359683A JPS59218558A (ja) | 1983-05-27 | 1983-05-27 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9359683A JPS59218558A (ja) | 1983-05-27 | 1983-05-27 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS59218558A true JPS59218558A (ja) | 1984-12-08 |
JPH0232648B2 JPH0232648B2 (ja) | 1990-07-23 |
Family
ID=14086687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9359683A Granted JPS59218558A (ja) | 1983-05-27 | 1983-05-27 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59218558A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59216252A (ja) * | 1983-05-25 | 1984-12-06 | Fujitsu Ltd | 情報処理装置 |
JPS6073736A (ja) * | 1983-09-29 | 1985-04-25 | Fujitsu Ltd | 情報処理装置 |
JPS6074038A (ja) * | 1983-09-30 | 1985-04-26 | Fujitsu Ltd | 情報処理装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4930311A (ja) * | 1972-07-18 | 1974-03-18 | ||
JPS5168749A (ja) * | 1974-12-11 | 1976-06-14 | Fujitsu Ltd | |
JPS59216252A (ja) * | 1983-05-25 | 1984-12-06 | Fujitsu Ltd | 情報処理装置 |
JPS6073736A (ja) * | 1983-09-29 | 1985-04-25 | Fujitsu Ltd | 情報処理装置 |
JPS6074038A (ja) * | 1983-09-30 | 1985-04-26 | Fujitsu Ltd | 情報処理装置 |
-
1983
- 1983-05-27 JP JP9359683A patent/JPS59218558A/ja active Granted
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4930311A (ja) * | 1972-07-18 | 1974-03-18 | ||
JPS5168749A (ja) * | 1974-12-11 | 1976-06-14 | Fujitsu Ltd | |
JPS59216252A (ja) * | 1983-05-25 | 1984-12-06 | Fujitsu Ltd | 情報処理装置 |
JPS6073736A (ja) * | 1983-09-29 | 1985-04-25 | Fujitsu Ltd | 情報処理装置 |
JPS6074038A (ja) * | 1983-09-30 | 1985-04-26 | Fujitsu Ltd | 情報処理装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59216252A (ja) * | 1983-05-25 | 1984-12-06 | Fujitsu Ltd | 情報処理装置 |
JPH0232647B2 (ja) * | 1983-05-25 | 1990-07-23 | Fujitsu Ltd | |
JPS6073736A (ja) * | 1983-09-29 | 1985-04-25 | Fujitsu Ltd | 情報処理装置 |
JPH0232649B2 (ja) * | 1983-09-29 | 1990-07-23 | Fujitsu Ltd | |
JPS6074038A (ja) * | 1983-09-30 | 1985-04-26 | Fujitsu Ltd | 情報処理装置 |
JPH0232650B2 (ja) * | 1983-09-30 | 1990-07-23 | Fujitsu Ltd |
Also Published As
Publication number | Publication date |
---|---|
JPH0232648B2 (ja) | 1990-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4467419A (en) | Data processing system with access to a buffer store during data block transfers | |
US4680730A (en) | Storage control apparatus | |
US4648034A (en) | Busy signal interface between master and slave processors in a computer system | |
US5099417A (en) | Data processing device with improved direct memory access | |
US4912636A (en) | Data processing device with multiple on chip memory buses | |
US4908748A (en) | Data processing device with parallel circular addressing hardware | |
US5032986A (en) | Data processing device with parallel circular addressing hardware | |
US5175841A (en) | Data processing device with multiple on-chip memory buses | |
JPS6297036A (ja) | 計算機システム | |
JP3137117B2 (ja) | 高速処理計算機 | |
GB2073923A (en) | Branching in computer control store | |
US5983328A (en) | Data processing device with time-multiplexed memory bus | |
US5907864A (en) | Data processing device with time-multiplexed memory bus | |
US6327648B1 (en) | Multiprocessor system for digital signal processing | |
JPS60136870A (ja) | ベクトル処理装置 | |
JPS59218558A (ja) | 情報処理装置 | |
JP2690406B2 (ja) | プロセッサおよびデータ処理システム | |
US5276853A (en) | Cache system | |
JPH0232647B2 (ja) | ||
JPS60178580A (ja) | 命令制御方式 | |
JPH0232649B2 (ja) | ||
JPH0232650B2 (ja) | ||
JPS6122830B2 (ja) | ||
JPH0465406B2 (ja) | ||
JPH07110769A (ja) | Vliw型計算機 |