JPS6410858B2 - - Google Patents
Info
- Publication number
- JPS6410858B2 JPS6410858B2 JP54052458A JP5245879A JPS6410858B2 JP S6410858 B2 JPS6410858 B2 JP S6410858B2 JP 54052458 A JP54052458 A JP 54052458A JP 5245879 A JP5245879 A JP 5245879A JP S6410858 B2 JPS6410858 B2 JP S6410858B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- main memory
- transferred
- buffer memory
- central processing
- 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
- 238000012546 transfer Methods 0.000 claims description 59
- 238000012545 processing Methods 0.000 claims description 38
- 238000000034 method Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 7
- 230000010365 information processing Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000010200 validation analysis Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
本発明は、セツトアソシアテイブ方式の緩衝記
憶を有する情報処理装置におけるデータ転送方式
に関する。
憶を有する情報処理装置におけるデータ転送方式
に関する。
緩衝記憶を有する情報処理装置では、データ処
理に必要なオペランドをそのつど主記憶と或る複
数バイト単位で対応づけられている緩衝記憶にア
クセスするが、緩衝記憶にそのオペランドが存在
しない場合には、主記憶から緩衝記憶に複数バイ
ト単位の転送を行うようになつている。従来のこ
の種の装置では前記の転送の間処理動作は待たさ
れるのでその分だけ時間損失があり、このため近
い将来必要と思われるデータを緩衝記憶に複数バ
イト転送するプリフエツチ手段を設けて緩衝記憶
内に必要なデータをできるだけ多く記憶させ、こ
れにより前記の時間の損失をなるべく少なくする
ようにしていた。しかし、このようなプリフエツ
チ手段を有していても、プリフエツチに際し緩衝
記憶に格納する単位である複数バイトが全て転送
されてくる前に同一複数バイト内のデータに新た
なデータ転送要求が出されると、複数バイトが全
て転送されてくるまで前記新たなデータ転送要求
の処理を待たせるので、前記新たなデータ転送要
求が必要とするデータバイトがすでに主記憶から
緩衝記憶に転送されてきていても要求元へデータ
バイトを転送できず、その時間分だけ性能が低下
するという欠点があつた。
理に必要なオペランドをそのつど主記憶と或る複
数バイト単位で対応づけられている緩衝記憶にア
クセスするが、緩衝記憶にそのオペランドが存在
しない場合には、主記憶から緩衝記憶に複数バイ
ト単位の転送を行うようになつている。従来のこ
の種の装置では前記の転送の間処理動作は待たさ
れるのでその分だけ時間損失があり、このため近
い将来必要と思われるデータを緩衝記憶に複数バ
イト転送するプリフエツチ手段を設けて緩衝記憶
内に必要なデータをできるだけ多く記憶させ、こ
れにより前記の時間の損失をなるべく少なくする
ようにしていた。しかし、このようなプリフエツ
チ手段を有していても、プリフエツチに際し緩衝
記憶に格納する単位である複数バイトが全て転送
されてくる前に同一複数バイト内のデータに新た
なデータ転送要求が出されると、複数バイトが全
て転送されてくるまで前記新たなデータ転送要求
の処理を待たせるので、前記新たなデータ転送要
求が必要とするデータバイトがすでに主記憶から
緩衝記憶に転送されてきていても要求元へデータ
バイトを転送できず、その時間分だけ性能が低下
するという欠点があつた。
したがつて、本発明の目的は、前記のようなプ
リフエツチに際し、緩衝記憶に格納する単位であ
る複数バイトがまだ転送途中であつても、新たな
データ転送要求が必要とするデータバイトがすで
に主記憶から緩衝記憶に転送されている場合に
は、要求元へデータバイトを転送できるようなデ
ータ転送方式を得るようなものである。
リフエツチに際し、緩衝記憶に格納する単位であ
る複数バイトがまだ転送途中であつても、新たな
データ転送要求が必要とするデータバイトがすで
に主記憶から緩衝記憶に転送されている場合に
は、要求元へデータバイトを転送できるようなデ
ータ転送方式を得るようなものである。
すなわち、本発明によれば、主記憶と、この主
記憶のデータをNバイト単位で保持するセツトア
ソシアテイブ方式の緩衝記憶と、中央演算処理装
置と、この中央演算処理装置からデータ転送を要
求されたデータが前記緩衝記憶に存在しない場
合、要求されたデータを有する前記主記憶からN
バイト転送により前記緩衝記憶にNバイトデータ
を格納する手段とを有する情報処理装置におい
て、 Nバイトに対応するN個のフラグおよびNバイ
トすべてが有効なデータとして前記緩衝記憶に書
込まれていることを示すバリデイテイビツトを前
記緩衝記憶のデイレクトリの全エントリに有し、
前記中央演算処理装置からのデータ転送要求に対
し、該デイレクトリ内にデータが存在しない場合
に、該デイレクトリの対応する前記N個のフラグ
をセツトし、且つ前記主記憶から転送されてきた
バイトに対応するフラグをリセツトする手段と、 Nバイト転送において、最後のデータが転送さ
れ、N個のフラグがすべてリセツトされたときに
前記バリデイテイビツトをセツトする手段とを備
え、 前記中央演算処理装置からのデータ転送要求に
対し、前記デイレクトリの対応するエントリ内の
アドレスと前記中央演算処理装置からのアドレス
が一致しない場合には、主記憶にデータ転送要求
を出し、アドレスが一致し、かつそのエントリ内
のバリデイテイビツトがセツトされている時に
は、前記緩衝記憶から中央処理装置にデータを転
送し、 アドレスが一致し、かつバリデイテイビツトが
セツトされておらず、対応するエントリ内の二個
のフラグがすべてリセツトされている場合には、
主記憶にデータ転送要求を出し、 アドレスが一致し、かつバリデイテイビツトが
セツトされておらず、対応するエントリ内の二個
のフラグのうちの要求されたデータバイトに対応
するフラグがセツトされていれば、中央演算処理
装置へのデータ転送を待たせ、要求されたバイト
データが転送されてから中央演算処理装置に転送
し、 アドレスが一致し、かつバリデイテイビツトが
セツトされておらず、対応するエントリ内のN個
のフラグのうちの要求されたデータバイトに対応
するフラグがセツトされていなければ、前記緩衝
記憶からデータを読出して、中央演算処理装置に
転送するようにしたものである。
記憶のデータをNバイト単位で保持するセツトア
ソシアテイブ方式の緩衝記憶と、中央演算処理装
置と、この中央演算処理装置からデータ転送を要
求されたデータが前記緩衝記憶に存在しない場
合、要求されたデータを有する前記主記憶からN
バイト転送により前記緩衝記憶にNバイトデータ
を格納する手段とを有する情報処理装置におい
て、 Nバイトに対応するN個のフラグおよびNバイ
トすべてが有効なデータとして前記緩衝記憶に書
込まれていることを示すバリデイテイビツトを前
記緩衝記憶のデイレクトリの全エントリに有し、
前記中央演算処理装置からのデータ転送要求に対
し、該デイレクトリ内にデータが存在しない場合
に、該デイレクトリの対応する前記N個のフラグ
をセツトし、且つ前記主記憶から転送されてきた
バイトに対応するフラグをリセツトする手段と、 Nバイト転送において、最後のデータが転送さ
れ、N個のフラグがすべてリセツトされたときに
前記バリデイテイビツトをセツトする手段とを備
え、 前記中央演算処理装置からのデータ転送要求に
対し、前記デイレクトリの対応するエントリ内の
アドレスと前記中央演算処理装置からのアドレス
が一致しない場合には、主記憶にデータ転送要求
を出し、アドレスが一致し、かつそのエントリ内
のバリデイテイビツトがセツトされている時に
は、前記緩衝記憶から中央処理装置にデータを転
送し、 アドレスが一致し、かつバリデイテイビツトが
セツトされておらず、対応するエントリ内の二個
のフラグがすべてリセツトされている場合には、
主記憶にデータ転送要求を出し、 アドレスが一致し、かつバリデイテイビツトが
セツトされておらず、対応するエントリ内の二個
のフラグのうちの要求されたデータバイトに対応
するフラグがセツトされていれば、中央演算処理
装置へのデータ転送を待たせ、要求されたバイト
データが転送されてから中央演算処理装置に転送
し、 アドレスが一致し、かつバリデイテイビツトが
セツトされておらず、対応するエントリ内のN個
のフラグのうちの要求されたデータバイトに対応
するフラグがセツトされていなければ、前記緩衝
記憶からデータを読出して、中央演算処理装置に
転送するようにしたものである。
次に、本発明の一実施例について図面を参照し
て詳細に説明する。
て詳細に説明する。
第1図は、本発明のデータ転送方式が適用され
る緩衝記憶を有する情報処理装置の概略構成を示
したブロツク図である。同図は、主記憶10、主
記憶10とNバイト単位に対応づけられたデータ
を保持する緩衝記憶11、演算を実行する演算制
御部12、命令の解読、命令の分岐制御、オペラ
ンドのアドレス計算、オペランドアクセスなどを
実行する命令制御部13、この命令制御部13ま
たは演算制御部12と緩衝記憶11あるいは主記
憶10とのデータ転送を制御する主記憶アクセス
制御部14およびマイクロプログラム制御に必要
な制御記憶部15とから構成される。上記のう
ち、12から15は全体で中央演算装置16を形
成している。なお、第1図ではマイクロプログラ
ム制御による情報処理装置の実施例を示したもの
であるが、本発明は制御記憶部15を有しないハ
ードウエア制御による情報処理装置であつても十
分実施し得るものである。
る緩衝記憶を有する情報処理装置の概略構成を示
したブロツク図である。同図は、主記憶10、主
記憶10とNバイト単位に対応づけられたデータ
を保持する緩衝記憶11、演算を実行する演算制
御部12、命令の解読、命令の分岐制御、オペラ
ンドのアドレス計算、オペランドアクセスなどを
実行する命令制御部13、この命令制御部13ま
たは演算制御部12と緩衝記憶11あるいは主記
憶10とのデータ転送を制御する主記憶アクセス
制御部14およびマイクロプログラム制御に必要
な制御記憶部15とから構成される。上記のう
ち、12から15は全体で中央演算装置16を形
成している。なお、第1図ではマイクロプログラ
ム制御による情報処理装置の実施例を示したもの
であるが、本発明は制御記憶部15を有しないハ
ードウエア制御による情報処理装置であつても十
分実施し得るものである。
第2図は、本発明のデータ転送方式が適用され
る命令形式の一実施例を示した図である。同図で
示されている命令語は命令コードとオペランド1
ないしオペランド3によつて構成されており、こ
れらオペランド1からオペランド3中のA1,A2,
A3はそれぞれのアドレス部、T1,T2,T3はそれ
ぞれデータタイプ(10進数の符号形式、10進数ま
たは文字のビツト長を示す。)N1,N2,N3はそ
れぞれの10進数または文字のオペランド長を示
す。そしてこの命令は、オペランド1とオペラン
ド2のデータを演算し、演算した結果をオペラン
ドにストアする命令である。
る命令形式の一実施例を示した図である。同図で
示されている命令語は命令コードとオペランド1
ないしオペランド3によつて構成されており、こ
れらオペランド1からオペランド3中のA1,A2,
A3はそれぞれのアドレス部、T1,T2,T3はそれ
ぞれデータタイプ(10進数の符号形式、10進数ま
たは文字のビツト長を示す。)N1,N2,N3はそ
れぞれの10進数または文字のオペランド長を示
す。そしてこの命令は、オペランド1とオペラン
ド2のデータを演算し、演算した結果をオペラン
ドにストアする命令である。
第3図は第1図に示した情報処理装置の構成を
処理サイクル毎に分割して示したブロツク図であ
る。同図において、命令制御部13で行われる処
理動作をIサイクルと称し、このIサイクは命令
の解読、オペランドアドレスの計算、主記憶コマ
ンド発生、ページアドレスの実アドレスへの変換
等を実行する。また、主記憶アクセス制御部1
4、緩衝記憶11、主記憶10で行われる処理動
作をCサイクルと称し、このCサイクルでは前記
Iサイクルで発生されたデータを転送要求を受取
り、緩衝記憶11あるいは必要に応じて主記憶1
0のアクセスを行い、必要ならばアクセスしたデ
ータを演算制御部14へ転送する動作を行う。さ
らに、演算制御部14で行われる処理動作をEサ
イクルと称し、このEサイクルは主記憶アクセス
14から転送されたデータを用いて演算の実行を
行う。
処理サイクル毎に分割して示したブロツク図であ
る。同図において、命令制御部13で行われる処
理動作をIサイクルと称し、このIサイクは命令
の解読、オペランドアドレスの計算、主記憶コマ
ンド発生、ページアドレスの実アドレスへの変換
等を実行する。また、主記憶アクセス制御部1
4、緩衝記憶11、主記憶10で行われる処理動
作をCサイクルと称し、このCサイクルでは前記
Iサイクルで発生されたデータを転送要求を受取
り、緩衝記憶11あるいは必要に応じて主記憶1
0のアクセスを行い、必要ならばアクセスしたデ
ータを演算制御部14へ転送する動作を行う。さ
らに、演算制御部14で行われる処理動作をEサ
イクルと称し、このEサイクルは主記憶アクセス
14から転送されたデータを用いて演算の実行を
行う。
ここで前記の第3図で示される3段の先行制御
方式をとり、第2図の命令を実行したときの処理
動作について説明する。
方式をとり、第2図の命令を実行したときの処理
動作について説明する。
第4図は、第2図に示した命令形式のデータ転
送処理を説明するタイミングチヤートを示してい
る。第4図において、I,C,Eは、第3図のI
サイクル、Cサイクル、Eサイクルでの処理にそ
れぞれ対応する。そして、本発明の先行制御を第
2図の命令の実行に適用すると、まず以下第3図
を併せ参照して、I1にて命令の最初の語、命令語
が緩衝記憶11の命令バツフア(図示せず)およ
び命令制御部13へ送られ、その命令の解読が行
われる。このI1時点で命令制御部13は複数語命
令であること、またプリフエツチを行う命令であ
ることが判断される。
送処理を説明するタイミングチヤートを示してい
る。第4図において、I,C,Eは、第3図のI
サイクル、Cサイクル、Eサイクルでの処理にそ
れぞれ対応する。そして、本発明の先行制御を第
2図の命令の実行に適用すると、まず以下第3図
を併せ参照して、I1にて命令の最初の語、命令語
が緩衝記憶11の命令バツフア(図示せず)およ
び命令制御部13へ送られ、その命令の解読が行
われる。このI1時点で命令制御部13は複数語命
令であること、またプリフエツチを行う命令であ
ることが判断される。
次に、I2では命令の次の語(オペランド1に関
する語)が緩衝記憶11から命令制御部13に送
られ、その中のオペランドアドレス生成回路21
によつてオペランド1のアドレスが計算される。
このオペランド1のアドレスは、ページアドレス
変換回路22によつてアドレス変換され、そのア
ドレスが主記憶アドレス制御部14に転送される
と同時に、命令制御部13内の主記憶コマンドを
発生回路23からプリフエツチ要求のコマンドを
主記憶アクセス制御部14に転送する。
する語)が緩衝記憶11から命令制御部13に送
られ、その中のオペランドアドレス生成回路21
によつてオペランド1のアドレスが計算される。
このオペランド1のアドレスは、ページアドレス
変換回路22によつてアドレス変換され、そのア
ドレスが主記憶アドレス制御部14に転送される
と同時に、命令制御部13内の主記憶コマンドを
発生回路23からプリフエツチ要求のコマンドを
主記憶アクセス制御部14に転送する。
次に、I3では命令の次の語(オペランド2に関
する語)が緩衝記憶11から命令制御部13に転
送され、上記と同様にオペランドアドレス生成回
路21によつてオペランド2のアドレスが計算さ
れる。このオペランド2のアドレスもページアド
レス変換回路22によつてアドレスが変換され、
そのアドレスと主記憶コマンド発生回路23から
のプリフエツチ要求のコマンドを主記憶アクセス
制御部14に転送する。このI3と同じタイミング
にてCサイクルのC1が並列的に処理される。す
なわち、C1では、I2で発生したプリフエツチ要求
を受取つたメモリアクセス制御部14は、要求さ
れたアドレスを有するNバイトが緩衝記憶11に
存在するかどうかを調べ、もし緩衝記憶11に存
在しない場合は、主記憶10に対してNバイト転
送要求を発生する。このNバイト転送によるデー
タは、緩衝記憶11の対応するレベルの対応する
エントリに書込まれるが、演算制御部12には転
送されない。一方、要求されたアドレスを有する
Nバイトが緩衝記憶11に存在するならば、主記
憶アドレス制御部14は、前記プリフエツチ要求
に対して何の処理も行われない。
する語)が緩衝記憶11から命令制御部13に転
送され、上記と同様にオペランドアドレス生成回
路21によつてオペランド2のアドレスが計算さ
れる。このオペランド2のアドレスもページアド
レス変換回路22によつてアドレスが変換され、
そのアドレスと主記憶コマンド発生回路23から
のプリフエツチ要求のコマンドを主記憶アクセス
制御部14に転送する。このI3と同じタイミング
にてCサイクルのC1が並列的に処理される。す
なわち、C1では、I2で発生したプリフエツチ要求
を受取つたメモリアクセス制御部14は、要求さ
れたアドレスを有するNバイトが緩衝記憶11に
存在するかどうかを調べ、もし緩衝記憶11に存
在しない場合は、主記憶10に対してNバイト転
送要求を発生する。このNバイト転送によるデー
タは、緩衝記憶11の対応するレベルの対応する
エントリに書込まれるが、演算制御部12には転
送されない。一方、要求されたアドレスを有する
Nバイトが緩衝記憶11に存在するならば、主記
憶アドレス制御部14は、前記プリフエツチ要求
に対して何の処理も行われない。
次に、I4では、命令のオペランド3に関する語
が緩衝記憶11から命令制御部13に送られ、オ
ペランド3のアドレス計算が行われる。オペラン
ド3のアドレスはストアオペランドを示すもので
あるため、プリフエツチの必要はない。このI4と
同じタイミングであるC2では、上記I3で発生した
オペランド2のプリフエツチ要求の処理が行われ
る。このプリフエツチ要求の処理は、上記した
C1で実行したオペランド1のプリフエツチ要求
と同一の処理が行われる。そして、オペランド2
に対するプリフエツチ要求したアドレスを有する
Nバイトが緩衝記憶に存在しない場合は、主記憶
10から1回につきKバイト単位で合計Q(=
V/K)回でNバイト転送が行われ、緩衝記憶1
1に確保される。
が緩衝記憶11から命令制御部13に送られ、オ
ペランド3のアドレス計算が行われる。オペラン
ド3のアドレスはストアオペランドを示すもので
あるため、プリフエツチの必要はない。このI4と
同じタイミングであるC2では、上記I3で発生した
オペランド2のプリフエツチ要求の処理が行われ
る。このプリフエツチ要求の処理は、上記した
C1で実行したオペランド1のプリフエツチ要求
と同一の処理が行われる。そして、オペランド2
に対するプリフエツチ要求したアドレスを有する
Nバイトが緩衝記憶に存在しない場合は、主記憶
10から1回につきKバイト単位で合計Q(=
V/K)回でNバイト転送が行われ、緩衝記憶1
1に確保される。
最後に、Eサイクルで処理されるE1からENで
は実際の命令の実行が行われる。すなわち、上記
I2からI4において計算されたアドレスでオペラン
ドアクセス、演算の実行、結果のストアを行う。
なお、上記の場合、先行制御を初期のIサイクル
の段階でプリフエツチ要求を発生させるもので、
第4図のI2およびI3にオペランド1およびオペラ
ンド2のプリフエツチ要求を示すコマンドを命令
制御部13内の主記憶コマンド発生回路23から
主記憶制御部14に発生していた。しかしなが
ら、プリフエツチ要求は上記実施例に限定される
ものではなく、例えば第1図の制御記憶部15に
プリフエツチ要求を発生する機能を設けてもさし
つかえない。おな、制御記憶部15を有しない情
報処理装置では、第1図の演算制御部12にプリ
フエツチ要求を発生する機能を設けてもさしつか
えない。
は実際の命令の実行が行われる。すなわち、上記
I2からI4において計算されたアドレスでオペラン
ドアクセス、演算の実行、結果のストアを行う。
なお、上記の場合、先行制御を初期のIサイクル
の段階でプリフエツチ要求を発生させるもので、
第4図のI2およびI3にオペランド1およびオペラ
ンド2のプリフエツチ要求を示すコマンドを命令
制御部13内の主記憶コマンド発生回路23から
主記憶制御部14に発生していた。しかしなが
ら、プリフエツチ要求は上記実施例に限定される
ものではなく、例えば第1図の制御記憶部15に
プリフエツチ要求を発生する機能を設けてもさし
つかえない。おな、制御記憶部15を有しない情
報処理装置では、第1図の演算制御部12にプリ
フエツチ要求を発生する機能を設けてもさしつか
えない。
上記したプリフエツチ動作をより効果的に使用
するためには、プリフエツチによるNバイト転送
が完全に終了してから実際のオペランドアクセス
が行われた方がよい訳だが、プリフエツチに対す
る主記憶10のデータ転送が遅れた時、またプリ
フエツチ後のオペランドアクセスが命令制御部1
3または演算制御部12から早い時期に出された
時などは、プリフエツチが終了しないうちに新た
なオペランドアクセスが出る可能性がある。つま
り、プリフエツチが終了していないうちに同一N
バイトに対して新たなオペランドアクセスが行わ
れた場合、2重のデータ転送要求が主記憶の同一
Nバイトに出力されることがあり得る。この様な
状態になつた時は、プリフエツチの効果がなくな
るばかりでなく、後のオペランドアクセスに遅れ
を生じさせることも起り得る。しかし、従来はこ
れに対して何らの対策もとられておらず、したが
つて時間の損失が生じていたのである。
するためには、プリフエツチによるNバイト転送
が完全に終了してから実際のオペランドアクセス
が行われた方がよい訳だが、プリフエツチに対す
る主記憶10のデータ転送が遅れた時、またプリ
フエツチ後のオペランドアクセスが命令制御部1
3または演算制御部12から早い時期に出された
時などは、プリフエツチが終了しないうちに新た
なオペランドアクセスが出る可能性がある。つま
り、プリフエツチが終了していないうちに同一N
バイトに対して新たなオペランドアクセスが行わ
れた場合、2重のデータ転送要求が主記憶の同一
Nバイトに出力されることがあり得る。この様な
状態になつた時は、プリフエツチの効果がなくな
るばかりでなく、後のオペランドアクセスに遅れ
を生じさせることも起り得る。しかし、従来はこ
れに対して何らの対策もとられておらず、したが
つて時間の損失が生じていたのである。
本発明は、緩衝記憶のデイレクトリに工夫をこ
らし、プリフエツチ要求のコマンドによるデータ
転送が完了しないうちに緩衝記憶の同一Nバイト
に対して新たなデータ転送要求が発生した時に、
前記新たなデータ転送がすでに完了しているMバ
イトに対するものであれば緩衝記憶から読み出し
て要求元に転送し、また転送されてきていないN
−Mバイトに対するものであれば処理を待ち、主
記憶から転送されてきてから要求元に転送するた
めの機能を有するようにしたものである。
らし、プリフエツチ要求のコマンドによるデータ
転送が完了しないうちに緩衝記憶の同一Nバイト
に対して新たなデータ転送要求が発生した時に、
前記新たなデータ転送がすでに完了しているMバ
イトに対するものであれば緩衝記憶から読み出し
て要求元に転送し、また転送されてきていないN
−Mバイトに対するものであれば処理を待ち、主
記憶から転送されてきてから要求元に転送するた
めの機能を有するようにしたものである。
第5図は、上記した緩衝記憶11のデイレクト
リの一例を示した図である。同図において、A0,
A1,……ALはそれぞれレベル0,1,……Lに
おける主記憶アドレスを示し、V0,V1,……VL
は同じく各レベルにおけるデイレクトリの有効無
効を示すバリデイテイビツトをあらわし、Pij(i
=0,1=L:J=0,1,……Q)は本発明に
おいて特に設けたペンデイングビツト(フラグ)
ともいうべきものである。なおQは、先に簡単に
触れたが、緩衝記憶11が主記憶10のデータを
保持する単位バイト数であるNを、主記憶10か
ら1回に転送する単位バイト数であるKで割つた
商すなわちN/Kを意味する。数値を挙げて一例
を説明すると、Nが16、Kが4とすればQは4と
なる。ここで一例としてレベル0におけるペンデ
イングビツトP00,P01,P0Qについて説明すると、
これらはレベル0に対するNバイト転送に際し、
主記憶10からの1回の転送のKバイト毎に設け
られたペンデイングビツトであつて、主記憶への
Nバイト転送要求を出すときにはこれらP00〜P0Q
はすべてセツトされ、主記憶10からKバイトデ
ータが転送されてくる毎にそれに対応するペンデ
イングビツトはリセツトされる。ペンデイングビ
ツトでセツトされたままのものが残つているとき
は、それに対応するKバイトの主記憶からの転送
が未完であることを意味する。同様にP10〜P1Qは
レベル1に対するペンデイングビツトである。同
じことは各レベルのペンデイングビツトにおいて
言える。なお、エントリはこの例では128個(0
〜127)としてある。
リの一例を示した図である。同図において、A0,
A1,……ALはそれぞれレベル0,1,……Lに
おける主記憶アドレスを示し、V0,V1,……VL
は同じく各レベルにおけるデイレクトリの有効無
効を示すバリデイテイビツトをあらわし、Pij(i
=0,1=L:J=0,1,……Q)は本発明に
おいて特に設けたペンデイングビツト(フラグ)
ともいうべきものである。なおQは、先に簡単に
触れたが、緩衝記憶11が主記憶10のデータを
保持する単位バイト数であるNを、主記憶10か
ら1回に転送する単位バイト数であるKで割つた
商すなわちN/Kを意味する。数値を挙げて一例
を説明すると、Nが16、Kが4とすればQは4と
なる。ここで一例としてレベル0におけるペンデ
イングビツトP00,P01,P0Qについて説明すると、
これらはレベル0に対するNバイト転送に際し、
主記憶10からの1回の転送のKバイト毎に設け
られたペンデイングビツトであつて、主記憶への
Nバイト転送要求を出すときにはこれらP00〜P0Q
はすべてセツトされ、主記憶10からKバイトデ
ータが転送されてくる毎にそれに対応するペンデ
イングビツトはリセツトされる。ペンデイングビ
ツトでセツトされたままのものが残つているとき
は、それに対応するKバイトの主記憶からの転送
が未完であることを意味する。同様にP10〜P1Qは
レベル1に対するペンデイングビツトである。同
じことは各レベルのペンデイングビツトにおいて
言える。なお、エントリはこの例では128個(0
〜127)としてある。
第6図は、第5図で示した本発明の特徴である
デイレクトリを用いたときの第1図の情報処理装
置におけるデータ転送の制御をフローチヤートで
あらわした図である。本発明では、バリデイテイ
ビツトおよびペンデイングビツトは、初期にすべ
てリセツトされている。また、データ転送要求が
発生したときは先ず前記ペンデイングビツトを調
べ、要求したデータバイトに対するペンデイング
ビツトがたつていれば、以前に同一Nバイトに対
してプリフエツチ要求が出されていて、要求する
データバイトに対する主記憶からの転送がまだ完
了していないことを意味し、データ転送要求の処
理は要求されたデータバイトが主記憶から転送さ
れてくるまで待たされる。すなわち、第6図にお
いて、命令制御部13または演算制御部12から
主記憶アクセス制御部14にデータ転送要求が転
送されて来ると(第3図)、主記憶アクセス制御
部14は対応するレベルのペンデイングビツトを
S1で調べる。要求するデータバイトに対するペ
ンデイングビツトが1でかつデイレクトリ内のア
ドレスと要求アドレスが一致し、バリデイテイビ
ツトがセツトされていない時は、要求するデータ
バイトがプリフエツチによるデータ転送待ちであ
るため、ペンデイングビツトが0になるまで前記
データ転送要求は受けつけられない。ペンデイン
グビツトが0となりデータ転送要求が受けつけら
れると、S2において普通のリード要求かプリフ
エツチ要求かを調べる。
デイレクトリを用いたときの第1図の情報処理装
置におけるデータ転送の制御をフローチヤートで
あらわした図である。本発明では、バリデイテイ
ビツトおよびペンデイングビツトは、初期にすべ
てリセツトされている。また、データ転送要求が
発生したときは先ず前記ペンデイングビツトを調
べ、要求したデータバイトに対するペンデイング
ビツトがたつていれば、以前に同一Nバイトに対
してプリフエツチ要求が出されていて、要求する
データバイトに対する主記憶からの転送がまだ完
了していないことを意味し、データ転送要求の処
理は要求されたデータバイトが主記憶から転送さ
れてくるまで待たされる。すなわち、第6図にお
いて、命令制御部13または演算制御部12から
主記憶アクセス制御部14にデータ転送要求が転
送されて来ると(第3図)、主記憶アクセス制御
部14は対応するレベルのペンデイングビツトを
S1で調べる。要求するデータバイトに対するペ
ンデイングビツトが1でかつデイレクトリ内のア
ドレスと要求アドレスが一致し、バリデイテイビ
ツトがセツトされていない時は、要求するデータ
バイトがプリフエツチによるデータ転送待ちであ
るため、ペンデイングビツトが0になるまで前記
データ転送要求は受けつけられない。ペンデイン
グビツトが0となりデータ転送要求が受けつけら
れると、S2において普通のリード要求かプリフ
エツチ要求かを調べる。
S2における調査で普通のリード要求であると
判断したときは、デイレクトリにアドレスが格納
されているか、バリデイテイビツトがセツトされ
ているかをS3で調べ、デイレクトリにアドレス
が格納されており、かつバリデイテイビツトがセ
ツトされていると、デイレクトリヒツトであり、
S4で緩衝記憶の対応するデータバイトを演算制
御部12または命令制御部13に転送し終了す
る。
判断したときは、デイレクトリにアドレスが格納
されているか、バリデイテイビツトがセツトされ
ているかをS3で調べ、デイレクトリにアドレス
が格納されており、かつバリデイテイビツトがセ
ツトされていると、デイレクトリヒツトであり、
S4で緩衝記憶の対応するデータバイトを演算制
御部12または命令制御部13に転送し終了す
る。
一方、S3で調べた結果、対応するデータバイ
トが緩衝記憶に存在しない場合は、S5にて演算
制御部12、命令制御部13の実行を停止させ、
S6にて主記憶10に対してリード要求を発生す
る。S7で主記憶10からのリードデータの転送
が完了すると、S8にて緩衝記憶11の対応する
レベルの対応するエントリに前記リードデータを
書き込み、さらにS9にてデイレクトリの対応す
るバリデイテイビツトをセツトする。前記により
対応するデータバイトが緩衝記憶11に確保され
ると、S10にて前記リードデータを演算制御部1
2または命令制御部13へ転送し、S11にて演算
制御部12、命令制御部13の実行を再開し終了
する。
トが緩衝記憶に存在しない場合は、S5にて演算
制御部12、命令制御部13の実行を停止させ、
S6にて主記憶10に対してリード要求を発生す
る。S7で主記憶10からのリードデータの転送
が完了すると、S8にて緩衝記憶11の対応する
レベルの対応するエントリに前記リードデータを
書き込み、さらにS9にてデイレクトリの対応す
るバリデイテイビツトをセツトする。前記により
対応するデータバイトが緩衝記憶11に確保され
ると、S10にて前記リードデータを演算制御部1
2または命令制御部13へ転送し、S11にて演算
制御部12、命令制御部13の実行を再開し終了
する。
ところで、前記S2においてプリフエツチのコ
マンドであることを判断した時の処理はS12に進
み、このS12において対応するデータバイトが緩
衝記憶11に存在するかどうかを調べる。そし
て、緩衝記憶11に対応するデータバイトが存在
する(ヒツト)時はプリフエツチコマンドに対し
何の動作も行わず終了する。しかし、対応するデ
ータバイトが緩衝記憶11に存在しない(ミス)
ときには、S13にてデイレクトリの対応するレベ
ルの対応するエントリのバリデイテイビツトをリ
セツトし、かつ全ペンデイングビツトをセツト
し、さらにS14にて主記憶10に対してリード要
求を発生する。このリード要求は、S5からS11に
示した普通のリード要求処理の場合とは異なり、
演算制御部12、命令制御部13の実行動作は停
止されることなく続行されている。そして、S15
にてリードデータが転送されてきたかどうか調
べ、もしリードデータがが転送されてきたら、
S16にて緩衝記憶11の対応するレベルの対応す
るエントリに書き込み、S17にて対応するペンデ
イングビツトをリセツトする。次に、S18にて全
ペンデイングビツトがリセツトされているか調べ
る。もしまだセツトされているペンデイングビツ
トが存在すれば、S15に戻つてデータ転送を待
つ。また、全ペンデイングビツトがリセツトされ
ていれば、S19にて対応すバリデイテイビツトを
セツトして動作を終了する。
マンドであることを判断した時の処理はS12に進
み、このS12において対応するデータバイトが緩
衝記憶11に存在するかどうかを調べる。そし
て、緩衝記憶11に対応するデータバイトが存在
する(ヒツト)時はプリフエツチコマンドに対し
何の動作も行わず終了する。しかし、対応するデ
ータバイトが緩衝記憶11に存在しない(ミス)
ときには、S13にてデイレクトリの対応するレベ
ルの対応するエントリのバリデイテイビツトをリ
セツトし、かつ全ペンデイングビツトをセツト
し、さらにS14にて主記憶10に対してリード要
求を発生する。このリード要求は、S5からS11に
示した普通のリード要求処理の場合とは異なり、
演算制御部12、命令制御部13の実行動作は停
止されることなく続行されている。そして、S15
にてリードデータが転送されてきたかどうか調
べ、もしリードデータがが転送されてきたら、
S16にて緩衝記憶11の対応するレベルの対応す
るエントリに書き込み、S17にて対応するペンデ
イングビツトをリセツトする。次に、S18にて全
ペンデイングビツトがリセツトされているか調べ
る。もしまだセツトされているペンデイングビツ
トが存在すれば、S15に戻つてデータ転送を待
つ。また、全ペンデイングビツトがリセツトされ
ていれば、S19にて対応すバリデイテイビツトを
セツトして動作を終了する。
以上説明したように、本発明においては、デイ
レクトリのペンデイングビツトを主記憶からの転
送バイト単位でもつことにより、データ転送によ
るデータバイトが緩衝記憶に存在すれば、緩衝記
憶に格納する単位の全データバイトが存在しなく
ても、新たな転送要求に対して緩衝記憶から読み
出して要求元にただちに転送し、性能を向上させ
るという効果がある。
レクトリのペンデイングビツトを主記憶からの転
送バイト単位でもつことにより、データ転送によ
るデータバイトが緩衝記憶に存在すれば、緩衝記
憶に格納する単位の全データバイトが存在しなく
ても、新たな転送要求に対して緩衝記憶から読み
出して要求元にただちに転送し、性能を向上させ
るという効果がある。
第1図は本発明のデータ転送方式が適用される
情報処理装置のブロツク図、第2図は本発明のデ
ータ転送方式が適用される命令形式の一実施例示
す図、第3図は第1図で示した情報処理装置の構
成を処理サイクルごとに分割して示したブロツク
図、第4図は第2図に示した命令形式のデータ転
送処理を説明するタイミングチヤート、第5図は
本発明のデータ転送方式に適用する緩衝記憶のデ
イレクトリの実施例を示す図、第6図は第5図の
緩衝記憶のデイレクトリを有する第1図の情報処
理装置の動作手順を示したフローチヤートであ
る。 記号の説明:10は主記憶、11は緩衝記憶、
12は演算制御部、13は命令制御部、14は主
記憶アクセス制御部、15は制御記憶部12から
15までを合せた16は中央演算処理装置、Nは
緩衝記憶11が主記憶10のデータを保持する単
位バイト数、Kは主記憶10から1回に転送する
単位バイト数をそれぞれあらわしており、また第
5図において、A0〜ALはレベルO〜Lにそれぞ
れ対応する主記憶アドレス、V0〜VLは同じく各
レベルにおけるデイレクトの有効無効を示すバリ
デイテイビツト、P00〜P0Q,P10〜P1Q,……PLO
〜PLQは同じく各レベルにおけるペンデイングビ
ツト、QはNをKで割つた商(N/K)をそれぞ
れあらわしている。
情報処理装置のブロツク図、第2図は本発明のデ
ータ転送方式が適用される命令形式の一実施例示
す図、第3図は第1図で示した情報処理装置の構
成を処理サイクルごとに分割して示したブロツク
図、第4図は第2図に示した命令形式のデータ転
送処理を説明するタイミングチヤート、第5図は
本発明のデータ転送方式に適用する緩衝記憶のデ
イレクトリの実施例を示す図、第6図は第5図の
緩衝記憶のデイレクトリを有する第1図の情報処
理装置の動作手順を示したフローチヤートであ
る。 記号の説明:10は主記憶、11は緩衝記憶、
12は演算制御部、13は命令制御部、14は主
記憶アクセス制御部、15は制御記憶部12から
15までを合せた16は中央演算処理装置、Nは
緩衝記憶11が主記憶10のデータを保持する単
位バイト数、Kは主記憶10から1回に転送する
単位バイト数をそれぞれあらわしており、また第
5図において、A0〜ALはレベルO〜Lにそれぞ
れ対応する主記憶アドレス、V0〜VLは同じく各
レベルにおけるデイレクトの有効無効を示すバリ
デイテイビツト、P00〜P0Q,P10〜P1Q,……PLO
〜PLQは同じく各レベルにおけるペンデイングビ
ツト、QはNをKで割つた商(N/K)をそれぞ
れあらわしている。
Claims (1)
- 【特許請求の範囲】 1 主記憶と、この主記憶のデータをNバイト単
位で保持するセツトアソシアテイブ方式の緩衝記
憶と、中央演算処理装置と、この中央演算処理装
置からデータ転送を要求されたデータが前記緩衝
記憶に存在しない場合、要求されたデータを有す
る前記主記憶からNバイト転送により前記緩衝記
憶にNバイトデータを格納する手段とを有する情
報処理装置において、 Nバイトに対応するN個のフラグおよびNバイ
トすべてが有効なデータとして前記緩衝記憶に書
込まれていることを示すバリデイテイビツトを前
記緩衝記憶のデイレクトリの全エントリに有し、
前記中央演算処理装置からのデータ転送要求に対
し、該デイレクトリ内にデータが存在しない場合
に、該デイレクトリの対応する前記N個のフラグ
をセツトするとともにバリデイテイビツトをリセ
ツトし、且つ前記主記憶から転送されてきたバイ
トに対応するフラグをリセツトする手段と、 Nバイト転送において、最後のデータが転送さ
れ、N個のフラグがすべてリセツトされたときに
前記バリデイテイビツトをセツトする手段とを備
え、 前記中央演算処理装置からのデータ転送要求に
対し、前記デイレクトリの対応するエントリ内の
アドレスと前記中央演算処理装置からのアドレス
が一致しない場合には主記憶にデータ転送要求を
出し、 アドレスが一致し、かつそのエントリ内のバリ
デイテイビツトがセツトされている時には、前記
緩衝記憶から中央処理装置にデータを転送し、 アドレスが一致し、かつバリデイテイビツトが
セツトされておらず、対応するエントリ内のN個
のフラグがすべてリセツトされている場合には、
主記憶にデータ転送要求を出し、 アドレスが一致し、かつバリデイテイビツトが
セツトされておらず、対応するエントリ内のN個
のフラグのうちの要求されたデータバイトに対応
するフラグがセツトされていれば、中央演算処理
装置へのデータ転送を待たせ、要求されたバイト
データが転送されてから中央演算処理装置に転送
し、 アドレスが一致し、かつバリデイテイビツトが
セツトされておらず、対応するエントリ内のN個
のフラグのうちの要求されたデータバイトに対応
するフラグがセツトされていなければ、前記緩衝
記憶からデータを読出して、中央演算処理装置に
転送することを特徴とするデータ転送方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5245879A JPS55146682A (en) | 1979-05-01 | 1979-05-01 | Data transfer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5245879A JPS55146682A (en) | 1979-05-01 | 1979-05-01 | Data transfer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS55146682A JPS55146682A (en) | 1980-11-15 |
JPS6410858B2 true JPS6410858B2 (ja) | 1989-02-22 |
Family
ID=12915267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5245879A Granted JPS55146682A (en) | 1979-05-01 | 1979-05-01 | Data transfer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS55146682A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0740245B2 (ja) * | 1987-08-21 | 1995-05-01 | 松下電器産業株式会社 | メモリ干渉検出装置 |
DE69323790T2 (de) * | 1992-04-29 | 1999-10-07 | Sun Microsystems, Inc. | Verfahren und Vorrichtung für mehreren ausstehende Operationen in einem cachespeicherkohärenten Multiprozessorsystem |
US6826662B2 (en) * | 2001-03-22 | 2004-11-30 | Sony Computer Entertainment Inc. | System and method for data synchronization for a computer architecture for broadband networks |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5323052B2 (ja) * | 1973-09-11 | 1978-07-12 |
-
1979
- 1979-05-01 JP JP5245879A patent/JPS55146682A/ja active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS55146682A (en) | 1980-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5249286A (en) | Selectively locking memory locations within a microprocessor's on-chip cache | |
JP3509067B2 (ja) | ストア命令転送方法およびプロセッサ | |
JP3016575B2 (ja) | 複数キャッシュ・メモリ・アクセス方法 | |
US5019965A (en) | Method and apparatus for increasing the data storage rate of a computer system having a predefined data path width | |
JP3045952B2 (ja) | フルアソシアティブ・アドレス変換器 | |
US5119484A (en) | Selections between alternate control word and current instruction generated control word for alu in respond to alu output and current instruction | |
JP2007048296A (ja) | 複数のアドレス・キャッシュ・エントリーを無効にする方法、装置およびシステム | |
JP2575219B2 (ja) | データ処理システム及びその命令実行を促進する方法 | |
JP2001290706A (ja) | Tlbキャッシュのためのプリフェッチ | |
US4648033A (en) | Look-aside buffer LRU marker controller | |
US5051894A (en) | Apparatus and method for address translation of non-aligned double word virtual addresses | |
EP0144268B1 (en) | Method for controlling buffer memory in data processing apparatus | |
JPH0410102B2 (ja) | ||
JPH0371355A (ja) | キヤツシユ検索装置および検索方法 | |
JPS6410858B2 (ja) | ||
US4737908A (en) | Buffer memory control system | |
JPS601655B2 (ja) | デ−タプリフェツチ方式 | |
GB1595740A (en) | Data processing apparatus | |
US5276892A (en) | Destination control logic for arithmetic and logic unit for digital data processor | |
JPH06149669A (ja) | キャッシュデータ転送方式およびキャッシュデータ転送装置 | |
JPH0210450A (ja) | キヤツシユメモリの先行フエツチ制御方式 | |
JPH0644246B2 (ja) | キヤツシユメモリ制御方式 | |
JP3078293B2 (ja) | 記憶制御装置 | |
JPS5955546A (ja) | フア−ムウエア処理装置 | |
JPS6042972B2 (ja) | アドレス変換機能を有する情報処理装置 |