JPH087663B2 - コンピユータ・システムおよびその記憶装置アクセス方法 - Google Patents

コンピユータ・システムおよびその記憶装置アクセス方法

Info

Publication number
JPH087663B2
JPH087663B2 JP1324161A JP32416189A JPH087663B2 JP H087663 B2 JPH087663 B2 JP H087663B2 JP 1324161 A JP1324161 A JP 1324161A JP 32416189 A JP32416189 A JP 32416189A JP H087663 B2 JPH087663 B2 JP H087663B2
Authority
JP
Japan
Prior art keywords
processing unit
central processing
cache
input
shared area
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 - Lifetime
Application number
JP1324161A
Other languages
English (en)
Other versions
JPH02226447A (ja
Inventor
ジエームズ・オツトー・ニコルソン
ジヨン・クラウド・オークイーン・サード
ジヨン・トーマス・オークイン・セカンド
フレデリツク・アーネスト・ストリエツトルメイアー
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JPH02226447A publication Critical patent/JPH02226447A/ja
Publication of JPH087663B2 publication Critical patent/JPH087663B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は、一般にコンピュータ・システムに関し、具
体的にはキャッシュ記憶装置を含むコンピュータ・シス
テムに関する。
B.従来の技術 コンピュータ・システムは、一般に記憶階層を定義す
るいくつかの異なる記憶層を有する。これらの記憶層に
は、通常中央演算処理装置内のレジスタ、主記憶装置、
及びディスク等の大容量記憶装置がある。これらの異な
るレベルの性能は、まったく異なっている。処理装置の
レジスタは主記憶装置よりもずっと高速であり、主記憶
装置は大容量記憶装置よりもアクセスが著しく高速であ
る。
システム性能を向上させるため、中央演算処理装置と
主記憶装置の間に、小型の高速記憶装置からなるキャッ
シュがしばしば使用される。キャッシュは、コンピュー
タ・プログラム内の参照の局在性現象を利用して、再使
用される可能性の高いデータを高速の記憶装置に記憶す
るものである。
中央演算処理装置と主記憶装置の間にキャッシュ記憶
装置を使用すると、主記憶装置を高速アクセスが可能な
ように設計することができる。キャッシュ記憶装置と主
記憶装置の間でのデータ転送は、キャッシュ記憶装置の
設計に依存する長さをもつブロック転送として実行され
る。主記憶装置の設計は、ブロック・データ転送でこの
ことを利用できるように最適化することができる。たと
えば、インターリーブ式記憶アクセスを主記憶装置に使
用することができる。
多くのシステムでは、入出力装置も主記憶装置にアク
セスすることができる。この種のシステムでは、入出力
装置は一般にブロック・データ転送ができないので、主
記憶装置はブロック転送だけを支援するように設計する
ことはできない。実際に、キーボードや入出力ポートな
ど多くの入出力装置は、単一文字本位の装置である。
中央演算処理装置と主記憶装置の間で使用される多く
のキャッシュの設計では入出力装置による使用が可能で
なく、システム全体の性能が悪影響を受けるので、入出
力装置はそのより低い性能レベルで主記憶装置にアクセ
スしなければならない。中央演算処理装置はいつでもそ
のキャッシュにあるデータに作用することができるが、
入出力装置が主記憶装置への読込みまたはそこからの書
出しを行なっているとき、キャッシュ・ミスが起こる
と、中央演算処理装置は待たされる。
入出力装置による主記憶装置への効率的なアクセスが
できるコンピュータ・システムが提供できるなら、それ
は望ましいことである。また、中央演算処理装置の主記
憶装置へのアクセスの性能が、主記憶装置へのアクセス
中に入出力装置によって大幅に低下しないコンピュータ
・システムが提供できるなら、それも望ましいことであ
る。
C.発明が解決しようとする課題 したがって、本発明の一目的は、入出力装置が主記憶
装置に効率的にアクセスできるコンピュータ・システム
を提供することにある。
本発明の他の目的は、中央演算処理装置の主記憶装置
へのアクセスの性能が入出力アクセス中に大幅に低下し
ない、入出力装置による主記憶装置への効率的なアクセ
スが可能な、コンピュータ・システムを提供することに
ある。
本発明の他の目的は、中央演算処理装置と入出力装置
が共通の記憶装置にアクセスできる、上記のようなコン
ピュータ・システムを提供することにある。
D.課題を解決するための手段 したがって、本発明によれば、コンピュータ・システ
ムは、中央演算処理装置と主記憶装置と入出力装置を含
む。入出力装置と主記憶装置の間に入出力キャッシュが
あり、入出力装置による主記憶装置へのアクセスはすべ
てキャッシュを介して行なわれる。中央演算処理装置
が、入出力装置もアクセスできる主記憶装置にアクセス
する場合、そうしたアクセスは入出力キャッシュを介し
て行なわれる。
E.実施例 第1図を参照すると、コンピュータ・システム10は中
央演算処理装置(CPU)12を含む。中央演算処理装置12
には、CPUキャッシュ14がアドレス信号線16とデータ信
号線18を介して接続されている。CPUキャッシュ14は、
アドレス信号線22とデータ信号線24を介して主記憶装置
20に接続されている。
主記憶装置20は、CPU非共用メモリ部分26と入出力非
共用メモリ部分27と共用メモリ部分28に分かれている。
CPU非共用メモリ26と入出力非共用メモリ27と共用メモ
リ28は物理的に別々のメモリでもよいが、好ましい実施
例では、それらは主記憶装置20のアドレス空間の選択さ
れた部分にすぎない。主記憶装置20内の特定のページを
ある部分から別の部分に移すことができる。たとえば、
入出力装置が実行可能ファイルをあるページにロードし
ている間は、そのページを入出力非共用メモリ27に置
き、その後実行のためCPU非共用メモリ26に再割当てす
ることができる。共用メモリ28が連続している必要はな
い。仮想メモリ・システムでは、選択された仮想ページ
が一般に共用メモリ28用に留保される。仮想ページは物
理メモリのどこにあってもよいので、共用メモリ28は一
般に物理メモリ内に散在する。CPUキャッシュ14は、有
効アドレス信号を生成して共用メモリ28に入れることが
できない。
入出力キャッシュ30は、アドレス信号線32とデータ信
号線34を介して中央演算処理装置12に接続されている。
入出力キャッシュ30は、アドレス線36とデータ線38を介
して主記憶装置20にも接続されている。
入出力キャッシュ30は、CPU非共用メモリ26をアドレ
スする有効アドレス信号を生成することができない。入
出力キャッシュ30を介してアクセス可能な共用メモリ28
のアドレスは、中央演算処理装置12または入出力装置の
どちらかによってアクセス可能な記憶位置として使用さ
れる。入出力非共用メモリ27の位置は、入出力装置だけ
がアクセスできる。CPUキャッシュ14及び入出力キャッ
シュ30に対するアドレッシングの制約のために、入出力
装置は、共用メモリまたは入出力非共用メモリ内のアド
レス可能信号にしかアクセスできない。中央演算処理装
置12は、CPU非共用メモリ26と共用メモリ28にしかアク
セスできない。
アドレス・バッファ40は、アドレス信号線32をアドレ
ス・バス44に接続する。データ・バッファ42は、データ
信号線34をデータ・バス46に接続する。アドレス・バス
44、データ・バス46及び制御信号バス(図示せず)が入
出力バスを構成し、あらゆる入出力装置はこのバスに接
続される。第1図は、アドレス・バス44とデータ・バス
46に接続された入出力装置48と50を示す。
入出力装置48、50は、入出力バス44、46に接続され得
る任意のタイプの入出力装置を表す。たとえば、キーボ
ード、ビデオ表示制御装置、直列及び並列入出力ポー
ト、大容量記憶制御装置、実時間マシン制御装置がそう
した装置に含まれる。一般に、中央演算処理装置12と主
記憶装置20と2台のキャッシュ14、30以外のコンピュー
タ・サブシステムは入出力装置と見なされる。
第2図は、第1図のシステムの動作を示す流れ図であ
る。中央演算処理装置12によって実行される各命令につ
いて、命令コードが、その命令がメモリへのロードまた
は記憶動作かどうか決定する(ステップ60)。その命令
がロードまたは記憶でない場合、それは通常通り実行さ
れる(ステップ62)。
ロードまたは記憶動作である場合、次のステップで、
どのメモリ領域がアクセスされるかを決定する(ステッ
プ64)。記憶アドレスが、CPU非共用メモリ26へのアク
セスであることを示している場合、その転送はCPUキャ
ッシュを介して行なわれる(ステップ66)。記憶アドレ
スが共用メモリ28内の位置である場合、転送は入出力キ
ャッシュを介して行なわれる(ステップ68)。中央演算
処理装置12は、共用メモリ28への記憶アクセスをすべて
入出力キャッシュ30を介して行なうので、CPUキャッシ
ュ14と入出力キャッシュ30の間でキャッシュの整合性に
関する問題は起こらない。キャッシュ14、30は共通の記
憶装置にアクセスしないので、キャッシュ14と30が同じ
記憶装置に対して異なる値を保持することは不可能であ
る。
ステップ64のテストで、動作が入出力ポートにアドレ
スされていると判定した場合、中央演算処理装置12は入
出力バスを介する直接転送を行なう(ステップ70)。入
出力ポートは、主記憶装置のアドレス空間とは異なる独
立したアドレス空間に存在する。独立した入出力アドレ
ス空間は、インテル社製の80×86ファミリー・マイクロ
プロセッサを含めて、広く用いられているいくつかのア
ーキテクチャで実施される。
第2図の流れ図は、中央演算処理装置12による記憶ア
クセスを示す。入出力装置が記憶アクセスを行なうと
き、ステップ64でテストを行なって、そのアクセスが主
記憶装置20内のある位置に対するものかそれとも入出力
ポートに対するものかを判定するだけでよい。転送が入
出力ポート宛または入出力ポートからのものである場
合、入出力バスを介して直接転送が行なわれ、共用メモ
リ及び入出力非共用メモリ28の転送は入出力キャッシュ
を介して行なわれる。
上記のシステムは、いくつか重要な特徴をもつ。主記
憶装置20はキャッシュ14、30のみを介してアクセスされ
るので、それを高速ブロック転送ができるように最適化
することができる。適切に設計された入出力キャッシュ
30は、入出力装置48、50へのデータ転送に対して、CPU
キャッシュ14が中央演算処理装置12への転送に対して与
えるのと同じ種類の利益を与える。入出力キャッシュ30
の好ましい実施例は、「入出力キャッシュ(INPUT/OUTP
UT CACHE)」と題する同時係属の特許出願第 号
に詳しく記載されている。
入出力キャッシュ30を使用することのもう1つの利点
は、入出力装置と中央演算処理装置12が並列に動作でき
ることである。同時動作で衝突が起こるのは、中央演算
処理装置1が入出力ポートに直接アクセスするとき、中
央演算処理装置12が入出力キャッシュ30を介して共用メ
モリ28にアクセスするとき、あるいは中央演算処理装置
14と入出力キャッシュの両方が同時に主記憶装置20への
アクセスを試みるときだけである。
【図面の簡単な説明】
第1図は、本発明によるコンピュータ・システムの構成
図である。 第2図は、第1図のコンピュータ・システムの動作を示
す流れ図である。 10……コンピュータ・システム、12……中央演算処理装
置、14……CPUキャッシュ、20……主記憶装置、26……C
PU非共用メモリ、27……入出力非共用メモリ、28……共
用メモリ、30……入出力キャッシュ、40……アドレス・
バッファ、42……データ・バッファ、48、50……入出力
装置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 フレデリツク・アーネスト・ストリエツト ルメイアー アメリカ合衆国テキサス州オースチン、コ ーリンフイールド・ドライブ9012番地 (56)参考文献 特開 昭52−2229(JP,A) 特開 昭55−134463(JP,A)

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】主記憶装置へのトランザクションを開始す
    る中央演算処理装置と、 中央演算処理装置非共用領域と、入出力非共用領域と、
    共用領域とを含む主記憶装置と、 上記中央演算処理装置と上記主記憶装置とに接続され、
    上記中央演算処理装置によって開始された主記憶装置へ
    のトランザクションに応答して、上記中央演算処理装置
    と上記主記憶装置の中央演算処理装置非共用領域の間の
    主記憶装置へのトランザクションを実行するために、上
    記中央演算処理装置非共用領域へのすべての記憶アクセ
    スをキャッシュする中央演算処理装置キャッシュ手段
    と、 主記憶装置へのトランザクションを開始する入出力手段
    と、 上記入出力手段と上記中央演算処理装置及び上記主記憶
    装置に接続され、上記入出力手段によって開始されたト
    ランザクションに応答して上記入出力手段と上記入出力
    非共用領域及び共用領域との間のすべての主記憶装置へ
    のトランザクションを実行し、さらに上記中央演算処理
    装置によって開始された主記憶装置トランザクションに
    応答して中央演算処理装置と共用領域との間のすべての
    主記憶装置へのトランザクションを実行するための入出
    力キャッシュ手段と、 を有するコンピュータ・システム。
  2. 【請求項2】上記入出力キャッシュ手段は、さらに主記
    憶装置へのトランザクションに応答して、上記入出力キ
    ャッシュ手段を介してすべての記憶アクセスによって受
    信されたデータをキャッシュする請求項1記載のコンピ
    ュータ・システム。
  3. 【請求項3】仮想ページをアクセスする中央演算処理装
    置と、仮想ページをアクセスする入出力装置と、主記憶
    装置と、上記中央演算処理装置と上記主記憶装置に接続
    された中央演算処理装置キャッシュと、上記主記憶装置
    と上記中央演算処理装置と上記入出力装置とに接続され
    た入出力キャッシュとを有するコンピュータ・システム
    において、上記主記憶装置にアクセスする方法であっ
    て、 上記主記憶装置内に、中央演算処理装置非共用領域と、
    入出力非共用領域と、共用領域とに位置を割り振るステ
    ップと、 上記中央演算処理装置非共用領域に割り当てられた位置
    に記憶された仮想ページへのアクセスに応答して、かか
    るアクセスが中央演算処理装置によってのみ開始される
    ように、上記中央演算処理装置キャッシュを介して上記
    中央演算処理装置非共用領域へアドレッシングをするス
    テップと、 上記共用領域に割り当てられた位置に記憶された仮想ペ
    ージへのアクセスに応答して、かかるアクセスは上記中
    央演算処理装置または入出力装置のいずれによっても開
    始できるように、上記入出力キャッシュを介して上記共
    用領域へのアドレッシングをするステップと、 上記入出力非共用領域に割り当てられた位置に記憶され
    た仮想ページへのアクセスに応答して、かかるアクセス
    が上記入出力装置によってのみ開始できるように、上記
    入出力キャッシュを介して上記入出力非共用領域へのア
    ドレッシングをするステップと、 を有する上記方法。
  4. 【請求項4】コンピュータ・システム内における主記憶
    装置からの読み出し及びそれへの書き込みをする方法で
    あって、 上記主記憶装置内に、中央演算処理装置非共用領域と、
    入出力非共用領域と、共用領域とに位置を割り振るステ
    ップと、 上記中央演算処理装置によるアクセスのために、上記主
    記憶装置及び上記中央演算処理装置に接続された中央演
    算処理装置キャッシュが上記主記憶装置の上記中央演算
    処理装置非共用領域内の位置からその内容を読み出しか
    つキャッシュし、上記中央演算処理装置によって、上記
    中央演算処理装置非共用領域内の位置の内容を上記中央
    演算処理装置キャッシュから読み出すステップと、 上記中央演算処理装置から上記中央演算処理装置キャッ
    シュにデータを書き込み、該キャッシュは該データをキ
    ャッシュしかつ上記主記憶装置に書き込むことによっ
    て、上記中央演算処理装置から上記中央演算処理装置非
    共用領域へデータを書き込むステップと、 上記中央演算処理装置によるアクセスのために、上記主
    記憶装置及び入出力装置及び上記中央演算処理装置に接
    続された入出力キャッシュが、上記主記憶装置の共用領
    域の位置の内容を読み出しかつキャッシュし、上記中央
    演算処理装置によって、上記共用領域の位置の内容を上
    記入出力キャッシュから読み出すステップと、 上記中央演算処理装置から上記入出力キャッシュにデー
    タを書き込み、該キャッシュは該データをキャッシュし
    かつ上記主記憶装置に書き込むことによって、上記中央
    演算処理装置から上記共用領域へデータを書き込むステ
    ップと、 上記入出力装置によるアクセスのために、上記入出力キ
    ャッシュが、上記主記憶装置の共用領域及び上記入出力
    非共用領域の位置の内容を読み出しかつキャッシュし、
    上記入出力装置によって、上記共用領域及び上記入出力
    非共用領域の位置の内容を上記入出力キャッシュから読
    み出すステップと、 上記入出力装置から上記入出力キャッシュにデータを書
    き込み、該キャッシュは該データをキャッシュしかつ上
    記主記憶装置に書き込むことによって、上記入出力装置
    から上記入出力非共用領域へデータを書き込むステップ
    と、 を有する上記方法。
JP1324161A 1989-01-13 1989-12-15 コンピユータ・システムおよびその記憶装置アクセス方法 Expired - Lifetime JPH087663B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US29777589A 1989-01-13 1989-01-13
US297775 1989-01-13

Publications (2)

Publication Number Publication Date
JPH02226447A JPH02226447A (ja) 1990-09-10
JPH087663B2 true JPH087663B2 (ja) 1996-01-29

Family

ID=23147692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1324161A Expired - Lifetime JPH087663B2 (ja) 1989-01-13 1989-12-15 コンピユータ・システムおよびその記憶装置アクセス方法

Country Status (3)

Country Link
EP (1) EP0377969B1 (ja)
JP (1) JPH087663B2 (ja)
DE (1) DE68921332T2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4796346B2 (ja) * 2004-07-28 2011-10-19 ルネサスエレクトロニクス株式会社 マイクロコンピュータ

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5547523A (en) * 1978-09-28 1980-04-04 Toshiba Corp Input and output processing device
JPS6053342B2 (ja) * 1982-04-16 1985-11-25 株式会社日立製作所 情報伝送方式
US4685082A (en) * 1985-02-22 1987-08-04 Wang Laboratories, Inc. Simplified cache with automatic update
JPS6368957A (ja) * 1986-09-10 1988-03-28 Fuji Electric Co Ltd 情報処理装置におけるデ−タ転送方式

Also Published As

Publication number Publication date
DE68921332D1 (de) 1995-03-30
EP0377969B1 (en) 1995-02-22
EP0377969A3 (en) 1991-03-20
EP0377969A2 (en) 1990-07-18
DE68921332T2 (de) 1995-08-10
JPH02226447A (ja) 1990-09-10

Similar Documents

Publication Publication Date Title
US4928225A (en) Coherent cache structures and methods
US9064330B2 (en) Shared virtual memory between a host and discrete graphics device in a computing system
US5029070A (en) Coherent cache structures and methods
US6003112A (en) Memory controller and method for clearing or copying memory utilizing register files to store address information
US5161219A (en) Computer system with input/output cache
EP0777183A1 (en) Computer cache system
US5283880A (en) Method of fast buffer copying by utilizing a cache memory to accept a page of source buffer contents and then supplying these contents to a target buffer without causing unnecessary wait states
KR0175983B1 (ko) 데이타 처리 시스템
US5287512A (en) Computer memory system and method for cleaning data elements
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
JP3814521B2 (ja) データ処理方法および装置
US5619673A (en) Virtual access cache protection bits handling method and apparatus
JPH0282330A (ja) ムーブアウト・システム
US5835945A (en) Memory system with write buffer, prefetch and internal caches
EP0474356A1 (en) Cache memory and operating method
US6397305B1 (en) Method and apparatus for controlling shared memory access
JP2552704B2 (ja) データ処理装置
JPH087663B2 (ja) コンピユータ・システムおよびその記憶装置アクセス方法
JPH01251250A (ja) 共有キャッシュメモリ
JPH0421222B2 (ja)
US5933856A (en) System and method for processing of memory data and communication system comprising such system
JPH0210446A (ja) バッファ記憶装置
JPH0628258A (ja) マイクロプロセッサ
JPS63240651A (ja) キヤツシユメモリ
JPH0612363A (ja) メモリ制御装置およびマルチプロセッサシステム