JPH11306020A - 情報処理装置におけるブロックストア命令の実行制御方式 - Google Patents
情報処理装置におけるブロックストア命令の実行制御方式Info
- Publication number
- JPH11306020A JPH11306020A JP10950098A JP10950098A JPH11306020A JP H11306020 A JPH11306020 A JP H11306020A JP 10950098 A JP10950098 A JP 10950098A JP 10950098 A JP10950098 A JP 10950098A JP H11306020 A JPH11306020 A JP H11306020A
- Authority
- JP
- Japan
- Prior art keywords
- block store
- store instruction
- request
- request signal
- block
- 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.)
- Withdrawn
Links
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】
【課題】 一連のブロックストア命令を、CPUの待ち
時間を最短にするよう連続的に実行させると共に命令の
実行順序の制御を容易にする情報処理装置を実現する。 【解決手段】 CPUからのリクエスト信号がブロック
ストア命令に基づくリクエスト信号であるときにインク
リメントされ、当該ブロックストア命令の実行が完了し
たことを検出したときにデクレメントされるカウンタ手
段11と、カウンタ手段11のカウント値に応じてリク
エスト信号の入力を制御するリクエストセレクタ手段1
2とを備え、カウンタ手段11のカウント値が零でない
ときは、ブロックストア命令に基づくリクエスト信号の
みを優先的に選択して連続的に実行させる。
時間を最短にするよう連続的に実行させると共に命令の
実行順序の制御を容易にする情報処理装置を実現する。 【解決手段】 CPUからのリクエスト信号がブロック
ストア命令に基づくリクエスト信号であるときにインク
リメントされ、当該ブロックストア命令の実行が完了し
たことを検出したときにデクレメントされるカウンタ手
段11と、カウンタ手段11のカウント値に応じてリク
エスト信号の入力を制御するリクエストセレクタ手段1
2とを備え、カウンタ手段11のカウント値が零でない
ときは、ブロックストア命令に基づくリクエスト信号の
みを優先的に選択して連続的に実行させる。
Description
【0001】
【発明の属する技術分野】本発明は、情報処理装置にお
けるブロックストア命令の実行制御方式に関する。例え
ば大形コンピュータ等の情報処理装置は、各々が緩衝記
憶装置を有する複数の中央処理装置と、各該中央処理装
置によって処理されるデータを格納する複数の主記憶装
置と、これら中央処理装置とのやりとりのもとで、上記
緩衝記憶装置および主記憶装置の双方に対する制御を行
う記憶制御装置とにより構成される。
けるブロックストア命令の実行制御方式に関する。例え
ば大形コンピュータ等の情報処理装置は、各々が緩衝記
憶装置を有する複数の中央処理装置と、各該中央処理装
置によって処理されるデータを格納する複数の主記憶装
置と、これら中央処理装置とのやりとりのもとで、上記
緩衝記憶装置および主記憶装置の双方に対する制御を行
う記憶制御装置とにより構成される。
【0002】このような情報処理装置においては、各中
央処理装置より発行される各種の命令のもとに、各命令
に応じた処理が実行されるが、その各種の命令の1つに
ブロックストア命令がある。本発明はこのブロックスト
ア命令の実行制御方式について述べるものである。
央処理装置より発行される各種の命令のもとに、各命令
に応じた処理が実行されるが、その各種の命令の1つに
ブロックストア命令がある。本発明はこのブロックスト
ア命令の実行制御方式について述べるものである。
【0003】
【従来の技術】情報処理装置は近年益々その処理能力の
増大が求められ、このため従来の直列方式の処理からパ
イプライン方式の処理へと移行している。このパイプラ
イン方式の情報処理装置においては、複数のパイプライ
ンによって1つの命令が並列的に実行され、処理のスル
ープットは飛躍的に増大する。この場合、命令が単に並
列的に実行されるだけでは十分でなく、ユーザがプログ
ラムに記述した命令の実行順序を保証するように情報処
理装置が動作しなければならない。このために、一般に
情報処理装置には、命令の実行順序を決定するための制
御手段が組み込まれている。
増大が求められ、このため従来の直列方式の処理からパ
イプライン方式の処理へと移行している。このパイプラ
イン方式の情報処理装置においては、複数のパイプライ
ンによって1つの命令が並列的に実行され、処理のスル
ープットは飛躍的に増大する。この場合、命令が単に並
列的に実行されるだけでは十分でなく、ユーザがプログ
ラムに記述した命令の実行順序を保証するように情報処
理装置が動作しなければならない。このために、一般に
情報処理装置には、命令の実行順序を決定するための制
御手段が組み込まれている。
【0004】この制御手段が対象とする種々の命令の中
でも特にストア系の命令の処理においては慎重に上記実
行順序の決定を行わなければならない。なぜなら、かか
るストア系の命令の処理においては、主記憶装置(MS
U)や各中央処理装置(CPU)内の緩衝記憶装置(C
ACHE)や主記憶保護キーを保持するキー記憶装置
(KSU)といった各種の記憶装置におけるデータの更
新処理が伴うからである。
でも特にストア系の命令の処理においては慎重に上記実
行順序の決定を行わなければならない。なぜなら、かか
るストア系の命令の処理においては、主記憶装置(MS
U)や各中央処理装置(CPU)内の緩衝記憶装置(C
ACHE)や主記憶保護キーを保持するキー記憶装置
(KSU)といった各種の記憶装置におけるデータの更
新処理が伴うからである。
【0005】このような更新処理を伴うストア系の命令
は、アクセス速度が一般に遅いとされる主記憶装置(M
SU)におけるデータの更新処理を伴うと共に、各中央
処理装置(CPU)が内蔵する緩衝記憶装置(CACH
E)の全てに存在する同一データの更新処理も伴うこと
から、当該更新処理にはかなりの時間がかかることにな
る。
は、アクセス速度が一般に遅いとされる主記憶装置(M
SU)におけるデータの更新処理を伴うと共に、各中央
処理装置(CPU)が内蔵する緩衝記憶装置(CACH
E)の全てに存在する同一データの更新処理も伴うこと
から、当該更新処理にはかなりの時間がかかることにな
る。
【0006】ストア系の命令の中でもとりわけブロック
ストア命令の場合には、上記更新処理に相当の時間を要
する。ブロックストア命令は通常連続した一連のストア
命令の群からなるからである。図5は本発明が適用され
る一般的な情報処理装置の一例を示す基本ブロック図で
ある。本図において、1は情報処理装置、例えば大形コ
ンピュータである。この情報処理装置1は、装置全体を
統括制御する中央処理装置(CPU)2を有し、該CP
Uは複数(#0,#1…#n)存在する。また、情報処
理装置1は、各CPU2によって処理されるデータを格
納する主記憶装置(MSU)3を有し、該MSU3は複
数(#0,#1…#m)存在する。各CPU2は緩衝記
憶装置(CAC:CACHE)4を内蔵し、各CACH
E4はMSU3内の一部のデータと同一のデータを保持
する。
ストア命令の場合には、上記更新処理に相当の時間を要
する。ブロックストア命令は通常連続した一連のストア
命令の群からなるからである。図5は本発明が適用され
る一般的な情報処理装置の一例を示す基本ブロック図で
ある。本図において、1は情報処理装置、例えば大形コ
ンピュータである。この情報処理装置1は、装置全体を
統括制御する中央処理装置(CPU)2を有し、該CP
Uは複数(#0,#1…#n)存在する。また、情報処
理装置1は、各CPU2によって処理されるデータを格
納する主記憶装置(MSU)3を有し、該MSU3は複
数(#0,#1…#m)存在する。各CPU2は緩衝記
憶装置(CAC:CACHE)4を内蔵し、各CACH
E4はMSU3内の一部のデータと同一のデータを保持
する。
【0007】少なくともこれらCPU2,MSU3およ
びCACHE4を制御するのは記憶制御装置(MCU)
5であり、本発明は主としてこのMCU5について述べ
る。なおMCU5は既述したキー記憶装置(KSU)6
や入出力装置(I/O)7にも接続する。図5を参照し
ながら本発明の主題であるブロックストア命令について
説明する。このブロックストア命令には、主記憶装置
(MSU)3を初期化するときに実行される命令であ
り、一度に大量のデータが処理される。いずれかの中央
処理装置(CPU)2からブロックストア命令が発行さ
れると、下記の,およびが実行される。
びCACHE4を制御するのは記憶制御装置(MCU)
5であり、本発明は主としてこのMCU5について述べ
る。なおMCU5は既述したキー記憶装置(KSU)6
や入出力装置(I/O)7にも接続する。図5を参照し
ながら本発明の主題であるブロックストア命令について
説明する。このブロックストア命令には、主記憶装置
(MSU)3を初期化するときに実行される命令であ
り、一度に大量のデータが処理される。いずれかの中央
処理装置(CPU)2からブロックストア命令が発行さ
れると、下記の,およびが実行される。
【0008】 緩衝記憶装置(CACHE)4に対し
て無効化処理を行う。すなわちCACHE4に保持して
いるブロックデータを無効化する。 主記憶装置(MSU)3における指定の固定長メモ
リブロックの全アドレスに対しデータ“0”を書き込
む。上記で無効化されるデータは、この固定長メモリ
ブロックのデータと同一のデータである。
て無効化処理を行う。すなわちCACHE4に保持して
いるブロックデータを無効化する。 主記憶装置(MSU)3における指定の固定長メモ
リブロックの全アドレスに対しデータ“0”を書き込
む。上記で無効化されるデータは、この固定長メモリ
ブロックのデータと同一のデータである。
【0009】 キー記憶装置(KSU)6のキーを更
新する。このキーの情報は、主記憶装置(MSU)3の
セキュリティー管理に有用な情報であり、あるメモリブ
ロックが参照されたか否か、その変更が行われたか否
か、等を示す情報である。このキーの情報はMSU3に
対する書込みがあるときには必ず更新される。なお、ブ
ロックストア命令は複数のCPU2のうちの1つから発
行されたときは、これに連動して残りのCPU2から同
様に発行される。そして、最初にブロックストア命令を
発行したCPU2内のCACHE4に対する無効化が行
われ、続いて残るCPU2についてそれぞれに内蔵され
るCACHE4に対し順次無効化が行われる。
新する。このキーの情報は、主記憶装置(MSU)3の
セキュリティー管理に有用な情報であり、あるメモリブ
ロックが参照されたか否か、その変更が行われたか否
か、等を示す情報である。このキーの情報はMSU3に
対する書込みがあるときには必ず更新される。なお、ブ
ロックストア命令は複数のCPU2のうちの1つから発
行されたときは、これに連動して残りのCPU2から同
様に発行される。そして、最初にブロックストア命令を
発行したCPU2内のCACHE4に対する無効化が行
われ、続いて残るCPU2についてそれぞれに内蔵され
るCACHE4に対し順次無効化が行われる。
【0010】図6は従来のシリアライズ制御方式による
ブロックストア命令の実行手順を表すタイムチャートで
ある。本図において、左上に示す“CPUn (0−
3)”の欄は、n=0〜3の4つのCPU(図5の2)
から一連のブロックストア命令が発行される様子を示
し、第2欄の“MCU”は、CPUからの各ブロックス
トア命令を受けてMCU5が内部処理(各CPUからブ
ロックストア命令以外の命令を受け取るので、これらの
中からブロックストア命令のみを選択する等の処理)を
行う様子を示している。この内部処理の後に既述の無効
化指令が出される。“CPU0(cache)”は、1
つのブロックストア命令に従いMCU5が、CPU2の
#0のCACHE4に対して無効化を行っている様子を
示す。このことはその他の“CPU1(cach
e)”、“CPU2(cache)”等についても同様
であり、“CPU3(cache)”は、上記の1つの
ブロックストア命令に従ってMCU5が、CPU2の#
3のCACHE4に対して無効化を行っている様子を示
す。このブロックストア命令に続いて発行される次のブ
ロックストア命令についても同様である。
ブロックストア命令の実行手順を表すタイムチャートで
ある。本図において、左上に示す“CPUn (0−
3)”の欄は、n=0〜3の4つのCPU(図5の2)
から一連のブロックストア命令が発行される様子を示
し、第2欄の“MCU”は、CPUからの各ブロックス
トア命令を受けてMCU5が内部処理(各CPUからブ
ロックストア命令以外の命令を受け取るので、これらの
中からブロックストア命令のみを選択する等の処理)を
行う様子を示している。この内部処理の後に既述の無効
化指令が出される。“CPU0(cache)”は、1
つのブロックストア命令に従いMCU5が、CPU2の
#0のCACHE4に対して無効化を行っている様子を
示す。このことはその他の“CPU1(cach
e)”、“CPU2(cache)”等についても同様
であり、“CPU3(cache)”は、上記の1つの
ブロックストア命令に従ってMCU5が、CPU2の#
3のCACHE4に対して無効化を行っている様子を示
す。このブロックストア命令に続いて発行される次のブ
ロックストア命令についても同様である。
【0011】MCU5は第1のブロックストア命令に対
応した第1の無効化を全てのCACHE4に対して行う
が、各CPU2もこのときそれぞれに固有の何らかの処
理を実行しており、1回の無効化が終了するまでの時間
は各CPU2について同一ではない。本図の例では、C
PU2の#1(CPU1)内のCACHE4(CPU1
(cache))に対する無効化が最も遅く終了してい
る。MCU5はこの最も遅い無効化の終了を待って、第
2のブロックストア命令に対応した第2の無効化を実行
する。本図の例では、CPU2の#2(CPU2)内の
CACHE4(CPU2(cache))が最も遅く終
了し、この終了を待ってMCU5は第3の無効化を開始
する。なお、これら無効化が完了すると即座に、既述し
たMSU5への“0”の書込み、さらにKSU6の更新
が実行されるが図には表していない。
応した第1の無効化を全てのCACHE4に対して行う
が、各CPU2もこのときそれぞれに固有の何らかの処
理を実行しており、1回の無効化が終了するまでの時間
は各CPU2について同一ではない。本図の例では、C
PU2の#1(CPU1)内のCACHE4(CPU1
(cache))に対する無効化が最も遅く終了してい
る。MCU5はこの最も遅い無効化の終了を待って、第
2のブロックストア命令に対応した第2の無効化を実行
する。本図の例では、CPU2の#2(CPU2)内の
CACHE4(CPU2(cache))が最も遅く終
了し、この終了を待ってMCU5は第3の無効化を開始
する。なお、これら無効化が完了すると即座に、既述し
たMSU5への“0”の書込み、さらにKSU6の更新
が実行されるが図には表していない。
【0012】
【発明が解決しようとする課題】図6から明らかなよう
に、従来のブロックストア命令に対する実行順序の制御
は、全てのCPU2に対する無効化処理の終了後に、次
のブロックストア命令を実行する。すなわち、MCU5
は、処理の実行順序を保証するために、次に続く命令は
前回の命令に基づく処理が完了するまで待たされる。こ
れがシリアライズ制御である。
に、従来のブロックストア命令に対する実行順序の制御
は、全てのCPU2に対する無効化処理の終了後に、次
のブロックストア命令を実行する。すなわち、MCU5
は、処理の実行順序を保証するために、次に続く命令は
前回の命令に基づく処理が完了するまで待たされる。こ
れがシリアライズ制御である。
【0013】このため各CPUを長時間待たせる結果と
なり(図6の“CPU WAIT”参照)、情報処理装
置1全体の稼働率が低下するという問題が生ずる。この
問題は、ブロックストア命令のように一連のストア命令
が連続して実行される場合に特に顕著となる。このた
め、初めに述べたパイプライン方式の処理を導入したこ
とによる効果は失われてしまう。
なり(図6の“CPU WAIT”参照)、情報処理装
置1全体の稼働率が低下するという問題が生ずる。この
問題は、ブロックストア命令のように一連のストア命令
が連続して実行される場合に特に顕著となる。このた
め、初めに述べたパイプライン方式の処理を導入したこ
とによる効果は失われてしまう。
【0014】したがって本発明は上記問題点に鑑み、情
報処理装置の稼働率を低下させることのない、ブロック
ストア命令の実行制御方式を提案することを目的とする
ものである。
報処理装置の稼働率を低下させることのない、ブロック
ストア命令の実行制御方式を提案することを目的とする
ものである。
【0015】
【課題を解決するための手段】図1は本発明に係るブロ
ックストア命令実行制御方式の基本構成を示す図であ
る。この情報処理装置1は、中央処理装置(CPU)2
から出力される各種のリクエスト信号RQを入力して各
リクエスト信号RQに応じたパイプライン処理を制御す
る記憶制御装置(MCU)5を含む。そのパイプライン
処理を制御する手段は、図中、パイプライン処理制御手
段13として示される。
ックストア命令実行制御方式の基本構成を示す図であ
る。この情報処理装置1は、中央処理装置(CPU)2
から出力される各種のリクエスト信号RQを入力して各
リクエスト信号RQに応じたパイプライン処理を制御す
る記憶制御装置(MCU)5を含む。そのパイプライン
処理を制御する手段は、図中、パイプライン処理制御手
段13として示される。
【0016】本発明の特徴はまず、カウンタ手段11を
備えることにあり、そしてこのカウンタ手段11による
監視のもとで動作するリクエストセレクタ手段12を有
することにある。これらは記憶制御装置(MCU)5内
に設けられる。カウンタ手段11は、リクエスト信号R
Qがブロックストア命令に基づくリクエスト信号である
ときにインクリメントされ、当該ブロックストア命令の
実行が完了したことを検出したときにデクレメントされ
る。
備えることにあり、そしてこのカウンタ手段11による
監視のもとで動作するリクエストセレクタ手段12を有
することにある。これらは記憶制御装置(MCU)5内
に設けられる。カウンタ手段11は、リクエスト信号R
Qがブロックストア命令に基づくリクエスト信号である
ときにインクリメントされ、当該ブロックストア命令の
実行が完了したことを検出したときにデクレメントされ
る。
【0017】リクエストセレクタ手段12は、カウンタ
手段11のカウント値に応じてリクエスト信号RQの入
力を制御する。リクエストセレクタ手段11は、カウン
タ手段11のカウント値が零でないときは、ブロックス
トア命令に基づくリクエスト信号のみを優先的に選択し
て該ブロックストア命令に基づく処理を連続的に実行さ
せる。
手段11のカウント値に応じてリクエスト信号RQの入
力を制御する。リクエストセレクタ手段11は、カウン
タ手段11のカウント値が零でないときは、ブロックス
トア命令に基づくリクエスト信号のみを優先的に選択し
て該ブロックストア命令に基づく処理を連続的に実行さ
せる。
【0018】図中、CMP(complete)は、上
述した、ブロックストア命令の実行が完了したことを検
出したことを示す実行完了信号である。なお、その他の
構成要素、MSU3,CACHE(CAC)4およびK
SU6については前述のとおりである。図2は本発明に
係るブロックストア命令実行制御方式による制御手順を
表すタイムチャートである。本図の見方は前述した図6
と同様である。ただし図2においてはさらにカウンタ手
段(COUNTER)11のカウント値が、0,1,2
…のように示されている。
述した、ブロックストア命令の実行が完了したことを検
出したことを示す実行完了信号である。なお、その他の
構成要素、MSU3,CACHE(CAC)4およびK
SU6については前述のとおりである。図2は本発明に
係るブロックストア命令実行制御方式による制御手順を
表すタイムチャートである。本図の見方は前述した図6
と同様である。ただし図2においてはさらにカウンタ手
段(COUNTER)11のカウント値が、0,1,2
…のように示されている。
【0019】いずれかのCPU2より、図中の、a,
b,c,dのごとく連続したブロックストア命令が発行
され、これが連続したリクエスト信号RQとしてMCU
5に出力される。これらを順次受け取ったMCU5は、
リクエストセレクト手段12によって所定の選択を行
い、各CPU2にオーダを出力する。このオーダa′
は、ブロックストア命令の場合、まずCACHE4に対
する無効化である。
b,c,dのごとく連続したブロックストア命令が発行
され、これが連続したリクエスト信号RQとしてMCU
5に出力される。これらを順次受け取ったMCU5は、
リクエストセレクト手段12によって所定の選択を行
い、各CPU2にオーダを出力する。このオーダa′
は、ブロックストア命令の場合、まずCACHE4に対
する無効化である。
【0020】上記のリクエスト信号がブロックストア命
令aに基づくリクエスト信号であると、カウンタ手段1
1はカウンタ値はインクリメント(+1)される(図2
の“COUNTER”の欄の“1”)。無効化オーダ
a′に基づいて各CPU内のCACHE4に対する無効
化が実行される。この無効化が最も早く完了したのはC
PU2の#2におけるCACHE4(CPU2(cac
he))であり、次のオーダb′までの間に若干の時間
的空間Sが生じている。一方、その無効化が最も遅く完
了したのは、CPU2の#1におけるCACHE4(C
PU1(cache))である。
令aに基づくリクエスト信号であると、カウンタ手段1
1はカウンタ値はインクリメント(+1)される(図2
の“COUNTER”の欄の“1”)。無効化オーダ
a′に基づいて各CPU内のCACHE4に対する無効
化が実行される。この無効化が最も早く完了したのはC
PU2の#2におけるCACHE4(CPU2(cac
he))であり、次のオーダb′までの間に若干の時間
的空間Sが生じている。一方、その無効化が最も遅く完
了したのは、CPU2の#1におけるCACHE4(C
PU1(cache))である。
【0021】本発明においては、先のオーダa′に続く
次のオーダb′(無効化)がMCU5より出力されたと
きは、上述したCPU2の#1におけるCACHE4に
対する無効化が未了であっても、このオーダb′による
処理を連続して行ってしまう。これによりブロックスト
ア命令の処理時間が短縮される。ただし、そのためにカ
ウンタ手段11による監視が必要となる。上記のオーダ
b′が出力される時点では、カウンタ手段11のカウン
ト値は1から2にインクリメントされる。このカウンタ
値が3,4と増大して行ったとすると、最早ブロックス
トア命令の実行は不可能となる。なぜなら、CACHE
4の無効化が完了した数よりもオーダの数が過多になっ
てしまうからである。
次のオーダb′(無効化)がMCU5より出力されたと
きは、上述したCPU2の#1におけるCACHE4に
対する無効化が未了であっても、このオーダb′による
処理を連続して行ってしまう。これによりブロックスト
ア命令の処理時間が短縮される。ただし、そのためにカ
ウンタ手段11による監視が必要となる。上記のオーダ
b′が出力される時点では、カウンタ手段11のカウン
ト値は1から2にインクリメントされる。このカウンタ
値が3,4と増大して行ったとすると、最早ブロックス
トア命令の実行は不可能となる。なぜなら、CACHE
4の無効化が完了した数よりもオーダの数が過多になっ
てしまうからである。
【0022】そこでカウンタ手段11のカウンタ値は、
1つのオーダに対する無効化処理が全CPUについて完
了したときは即座に−1し、カウンタ値をできるだけ0
に近い数に保つようにする。カウンタ値が小さければ小
さい程、次々とリクエスト信号を受け取る余裕ができる
からである。図2を再び参照すると、カウンタ手段11
のカウント値(COUNTER)は、リクエスト信号
a,b…に基づくオーダa′,b′…が出力される時点
で、0→1→2→とインクリメントする一方で、全CP
UのCACHE4に対する1回の無効化が完了する毎に
2→1のようにデクレメントする。本図中、第1回の無
効化でCPU1(cache)が最後に無効化を終了す
ると、カウンタ値は2→1のように減少し、また第2回
の無効化でCPU2(cache)が最後に無効化を終
了するとカウンタ値は2→1のように減少する。
1つのオーダに対する無効化処理が全CPUについて完
了したときは即座に−1し、カウンタ値をできるだけ0
に近い数に保つようにする。カウンタ値が小さければ小
さい程、次々とリクエスト信号を受け取る余裕ができる
からである。図2を再び参照すると、カウンタ手段11
のカウント値(COUNTER)は、リクエスト信号
a,b…に基づくオーダa′,b′…が出力される時点
で、0→1→2→とインクリメントする一方で、全CP
UのCACHE4に対する1回の無効化が完了する毎に
2→1のようにデクレメントする。本図中、第1回の無
効化でCPU1(cache)が最後に無効化を終了す
ると、カウンタ値は2→1のように減少し、また第2回
の無効化でCPU2(cache)が最後に無効化を終
了するとカウンタ値は2→1のように減少する。
【0023】上記のようにリクエストセレクタ手段12
は、カウンタ手段11による監視のもとに、一連のブロ
ックストア命令を連続的に(すきまなく)実行すること
を可能にしている。この結果、CPUの待ち時間は図2
において“CPU WAIT”として示すごとく、図6
(従来)に示す“CPU WAIT”よりも大幅に短縮
される。かくして情報処理装置1全体の稼働率が向上す
る。
は、カウンタ手段11による監視のもとに、一連のブロ
ックストア命令を連続的に(すきまなく)実行すること
を可能にしている。この結果、CPUの待ち時間は図2
において“CPU WAIT”として示すごとく、図6
(従来)に示す“CPU WAIT”よりも大幅に短縮
される。かくして情報処理装置1全体の稼働率が向上す
る。
【0024】カウンタ手段11によるリクエストセレク
タ手段12の監視の態様は、さらに以下の2つがある。 (i)カウンタ手段11のカウント値が零であるとき、
リクエストセレクタ手段は、所定の優先順位に従って、
中央処理装置2から出力される各種のリクエスト信号を
選択する(従来どおり)。
タ手段12の監視の態様は、さらに以下の2つがある。 (i)カウンタ手段11のカウント値が零であるとき、
リクエストセレクタ手段は、所定の優先順位に従って、
中央処理装置2から出力される各種のリクエスト信号を
選択する(従来どおり)。
【0025】(ii)カウンタ手段11のカウント値が、
予め定めた上限値に達したとき、リクエストセレクタ手
段12は、ブロックストア命令に基づくリクエスト信号
の選択を中止する。つまりブロックストア命令は実行し
ない。ブロックストア命令の入力数の方が、ブロックス
トア命令の実行完了数よりも過多になってしまうからで
ある。
予め定めた上限値に達したとき、リクエストセレクタ手
段12は、ブロックストア命令に基づくリクエスト信号
の選択を中止する。つまりブロックストア命令は実行し
ない。ブロックストア命令の入力数の方が、ブロックス
トア命令の実行完了数よりも過多になってしまうからで
ある。
【0026】上述のように本発明によれば、カウンタ手
段11という単純なデバイスを導入するだけでよく、コ
スト的にもハードウェア的にも負担は軽い、という利点
がある。この利点は次に述べる不利と対比させると一層
顕著である。一般に、稼働率の向上のためにパイプライ
ンを用いた並列実行という手法があるが、一連のブロッ
クストア命令を連続して実行する複数の処理が全て完了
したことを知ることは非常に手間がかかる。例えば、各
CPUからの完了通知信号に当該命令のIDを示す信号
を付け加えて、このIDにより処理中の命令の中で処理
が終了した命令を知る方法や各CPUに処理の状況を問
い合わせる方法等があるが、CPU間の信号線の増加や
プロトコルの複雑化およびCPU間アクセスの増加を招
くという不利がある。
段11という単純なデバイスを導入するだけでよく、コ
スト的にもハードウェア的にも負担は軽い、という利点
がある。この利点は次に述べる不利と対比させると一層
顕著である。一般に、稼働率の向上のためにパイプライ
ンを用いた並列実行という手法があるが、一連のブロッ
クストア命令を連続して実行する複数の処理が全て完了
したことを知ることは非常に手間がかかる。例えば、各
CPUからの完了通知信号に当該命令のIDを示す信号
を付け加えて、このIDにより処理中の命令の中で処理
が終了した命令を知る方法や各CPUに処理の状況を問
い合わせる方法等があるが、CPU間の信号線の増加や
プロトコルの複雑化およびCPU間アクセスの増加を招
くという不利がある。
【0027】
【発明の実施の形態】図3は本発明に係る情報処理装置
の構成例を示す図である。なお既に説明した構成要素と
同様のものには同一の参照番号または記号を付して示
す。本図中、MCU5は、カウンタ手段11とリクエス
トセレクタ手段12とパイプライン処理制御手段13と
を含んでなる。またCPU2は、本図中右側と上側の2
ヶ所に示すが両者は全く同一である。単にリクエストの
発行機能(上側)とオーダの実行機能(右側)とに分け
て示したものである。
の構成例を示す図である。なお既に説明した構成要素と
同様のものには同一の参照番号または記号を付して示
す。本図中、MCU5は、カウンタ手段11とリクエス
トセレクタ手段12とパイプライン処理制御手段13と
を含んでなる。またCPU2は、本図中右側と上側の2
ヶ所に示すが両者は全く同一である。単にリクエストの
発行機能(上側)とオーダの実行機能(右側)とに分け
て示したものである。
【0028】また図中、CNT=0,0<CNT<Nお
よびCNT≧Nは、カウンタ手段11の監視条件を表し
たものであり、CNTは前述したカウント値である。本
発明のブロックストア命令制御方式は、特に0<CNT
<Nという条件下で有効に機能するものである。ブロッ
クストア命令が入力されたか否か、正確にはブロックス
トア命令が、種々のリクエスト信号の中の1つとリクエ
ストセレクタ手段12によって選択されて該手段12よ
り出力されたか否かは、カウンタ手段11にとって重要
な情報である。
よびCNT≧Nは、カウンタ手段11の監視条件を表し
たものであり、CNTは前述したカウント値である。本
発明のブロックストア命令制御方式は、特に0<CNT
<Nという条件下で有効に機能するものである。ブロッ
クストア命令が入力されたか否か、正確にはブロックス
トア命令が、種々のリクエスト信号の中の1つとリクエ
ストセレクタ手段12によって選択されて該手段12よ
り出力されたか否かは、カウンタ手段11にとって重要
な情報である。
【0029】そこで図3の構成例では、カウンタ手段1
1の中にカウンタと共に判定部15を設ける。この判定
部15は、リクエストセレクタ手段12からブロックス
トア命令に基づくリクエスト信号RQが出力されたか否
かを判定する。この判定部15は、リクエスト信号が指
定する命令するコードをデコードするデコーダからな
る。
1の中にカウンタと共に判定部15を設ける。この判定
部15は、リクエストセレクタ手段12からブロックス
トア命令に基づくリクエスト信号RQが出力されたか否
かを判定する。この判定部15は、リクエスト信号が指
定する命令するコードをデコードするデコーダからな
る。
【0030】カウンタ手段11はそのデコーダの出力に
よりカウント値をインクリメントする一方、ブロックス
トア命令の実行が完了したことを示す実行完了信号CM
Pによってデクレメントする。この実行完了信号CMP
を生成する手段についてはその一例を図4に示す。図4
はより具体的な情報処理装置の構成例を示す図である。
本図においてMCU5が図の左側と中央下側の2ヶ所に
分けて示してあるが、双方同一のものである。機能別に
示しただけである。後者のMCU5(図の中央下側)に
は、上述した実行完了信号CMPの生成手段(16)が
示されている。これは、ブロックストア命令の実行が完
了(図中の“無効化終了”)したことを検出する検出部
16である。
よりカウント値をインクリメントする一方、ブロックス
トア命令の実行が完了したことを示す実行完了信号CM
Pによってデクレメントする。この実行完了信号CMP
を生成する手段についてはその一例を図4に示す。図4
はより具体的な情報処理装置の構成例を示す図である。
本図においてMCU5が図の左側と中央下側の2ヶ所に
分けて示してあるが、双方同一のものである。機能別に
示しただけである。後者のMCU5(図の中央下側)に
は、上述した実行完了信号CMPの生成手段(16)が
示されている。これは、ブロックストア命令の実行が完
了(図中の“無効化終了”)したことを検出する検出部
16である。
【0031】さらに具体的には、この検出部16を、記
憶制御装置(MCU)5内に既存の物理アドレス/論理
アドレス変換テーブルによって実現し、この物理アドレ
ス/論理アドレス変換テーブル内のアドレスが、ブロッ
クストア命令の実行によって全て無効化されたとき、当
該ブロックストア命令の実行が完了したことを検出し実
行完了信号CMPとして出力する。
憶制御装置(MCU)5内に既存の物理アドレス/論理
アドレス変換テーブルによって実現し、この物理アドレ
ス/論理アドレス変換テーブル内のアドレスが、ブロッ
クストア命令の実行によって全て無効化されたとき、当
該ブロックストア命令の実行が完了したことを検出し実
行完了信号CMPとして出力する。
【0032】図4においても、図3と同様同一の一群の
CPU2が、リクエスト機能側(リクエスト発行部17
を含む)と、CACHE4を含みオーダを受ける側とに
分けて示している。複数のCPU2からそれぞれ出力さ
れたリクエスト信号は、各CPU2に対応したポートP
に一旦保持され、リクエストセレクタ手段12による選
択を受ける。MCU5(図4の左側)のその他の構成は
図3と同じである。
CPU2が、リクエスト機能側(リクエスト発行部17
を含む)と、CACHE4を含みオーダを受ける側とに
分けて示している。複数のCPU2からそれぞれ出力さ
れたリクエスト信号は、各CPU2に対応したポートP
に一旦保持され、リクエストセレクタ手段12による選
択を受ける。MCU5(図4の左側)のその他の構成は
図3と同じである。
【0033】
【発明の効果】以上説明したように本発明によれば、一
連の連続するブロックストア命令の処理時間が短縮され
る。その分、CPU2の待ち時間(CPU WAIT)
も短くなり情報処理装置全体の稼働率の向上が図れる。
このために新規に追加したハードウェアはカウンタ(1
1)のみであり、経済的でもある。
連の連続するブロックストア命令の処理時間が短縮され
る。その分、CPU2の待ち時間(CPU WAIT)
も短くなり情報処理装置全体の稼働率の向上が図れる。
このために新規に追加したハードウェアはカウンタ(1
1)のみであり、経済的でもある。
【0034】さらにそのカウンタ(11)のカウント値
を目安にするだけで、命令実行順序制御が簡単に行え、
また過度の命令の発行も容易に抑制できるという効果も
ある。
を目安にするだけで、命令実行順序制御が簡単に行え、
また過度の命令の発行も容易に抑制できるという効果も
ある。
【図1】本発明に係るブロックストア命令実行制御方式
の基本構成を示す図である。
の基本構成を示す図である。
【図2】本発明に係るブロックストア命令実行制御方式
による制御手順を表すタイムチャートである。
による制御手順を表すタイムチャートである。
【図3】本発明に係る情報処理装置の構成例を示す図で
ある。
ある。
【図4】より具体的な情報処理装置の構成例を示す図で
ある。
ある。
【図5】本発明が適用される一般的な情報処理装置の一
例を示す基本ブロック図である。
例を示す基本ブロック図である。
【図6】従来のシリアライズ制御方式によるブロックス
トア命令の実行手順を表すタイムチャートである。
トア命令の実行手順を表すタイムチャートである。
1…情報処理装置 2…中央処理装置(CPU) 3…主記憶装置(MSU) 4…緩衝記憶装置(CACHE) 5…記憶制御装置(MCU) 6…キー記憶装置(KSU) 7…入出力装置(I/O) 11…カウンタ手段 12…リクエストセレクタ手段 13…パイプライン処理制御手段 15…判定部 16…検出部
Claims (3)
- 【請求項1】 中央処理装置(CPU)から出力される
各種のリクエスト信号を入力して各該リクエスト信号に
応じたパイプライン処理を制御する記憶制御装置(MC
U)を含む情報処理装置において、 前記記憶制御装置は、 前記リクエスト信号がブロックストア命令に基づくリク
エスト信号であるときにインクリメントされ、当該ブロ
ックストア命令の実行が完了したことを検出したときに
デクレメントされるカウンタ手段と、 前記カウンタ手段のカウント値に応じて前記リクエスト
信号の入力を制御するリクエストセレクタ手段とを備
え、 前記リクエストセレクタ手段は、前記カウンタ手段のカ
ウント値が零でないときは、前記ブロックストア命令に
基づくリクエスト信号のみを優先的に選択して該ブロッ
クストア命令に基づく処理を連続的に実行させることを
特徴とする、情報処理装置におけるブロックストア命令
の実行制御方式。 - 【請求項2】 前記カウンタ手段のカウント値が零であ
るとき、 前記リクエストセレクタ手段は、所定の優先順位に従っ
て、前記中央処理装置から出力される各種のリクエスト
信号を選択する請求項1に記載のブロックストア命令の
実行制御方式。 - 【請求項3】 前記カウンタ手段のカウント値が、予め
定めた上限値に達したとき、 前記リクエストセレクタ手段は、前記ブロックストア命
令に基づくリクエスト信号の選択を中止する請求項1に
記載のブロックストア命令の実行制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10950098A JPH11306020A (ja) | 1998-04-20 | 1998-04-20 | 情報処理装置におけるブロックストア命令の実行制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10950098A JPH11306020A (ja) | 1998-04-20 | 1998-04-20 | 情報処理装置におけるブロックストア命令の実行制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11306020A true JPH11306020A (ja) | 1999-11-05 |
Family
ID=14511846
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10950098A Withdrawn JPH11306020A (ja) | 1998-04-20 | 1998-04-20 | 情報処理装置におけるブロックストア命令の実行制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11306020A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7490219B2 (en) | 2005-03-16 | 2009-02-10 | Fujitsu Limited | Counter counts valid requests based on a judgment in a system having a plurality of pipeline processors |
-
1998
- 1998-04-20 JP JP10950098A patent/JPH11306020A/ja not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7490219B2 (en) | 2005-03-16 | 2009-02-10 | Fujitsu Limited | Counter counts valid requests based on a judgment in a system having a plurality of pipeline processors |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5293500A (en) | Parallel processing method and apparatus | |
| US4586133A (en) | Multilevel controller for a cache memory interface in a multiprocessing system | |
| US5263144A (en) | Method and apparatus for sharing data between processors in a computer system | |
| JP3304444B2 (ja) | ベクトル処理装置 | |
| US6704833B2 (en) | Atomic transfer of a block of data | |
| JP3481425B2 (ja) | キャッシュ装置 | |
| EP1278121B1 (en) | Microprocessor maintaining memory consistency | |
| JPS6022376B2 (ja) | キャッシュメモリ制御装置 | |
| JP2003036238A (ja) | 情報処理システムのioアクセス制御方法およびプログラム | |
| US5790892A (en) | Information handling system for modifying coherency response set to allow intervention of a read command so that the intervention is not allowed by the system memory | |
| US6266777B1 (en) | Information processing apparatus to control bus latency | |
| JP2555427B2 (ja) | 命令実行のシリアライズ制御方式 | |
| JP2522412B2 (ja) | プログラマブルコントロ―ラと入出力装置の間の通信方法 | |
| JPH05334233A (ja) | データ転送装置 | |
| JPH0991272A (ja) | ベクトルデータ処理装置 | |
| JPH04291642A (ja) | キャッシュ制御方式 | |
| JPS59217284A (ja) | デ−タ処理装置のシステム制御装置 | |
| JPH06139071A (ja) | 並列計算機 | |
| JPH0535507A (ja) | 中央処理装置 | |
| JPH0319049A (ja) | アクセス制御方法及び情報処理装置 | |
| JPH04302044A (ja) | マルチプロセッサシステム | |
| JPH0376501B2 (ja) | ||
| JPS6010367A (ja) | デ−タ処理装置 | |
| JPH0690711B2 (ja) | メモリアクセス制御方式 | |
| JPWO1997014103A1 (ja) | マルチプロセッサシステム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050705 |