JPH0351011B2 - - Google Patents

Info

Publication number
JPH0351011B2
JPH0351011B2 JP57028731A JP2873182A JPH0351011B2 JP H0351011 B2 JPH0351011 B2 JP H0351011B2 JP 57028731 A JP57028731 A JP 57028731A JP 2873182 A JP2873182 A JP 2873182A JP H0351011 B2 JPH0351011 B2 JP H0351011B2
Authority
JP
Japan
Prior art keywords
cache memory
memory
segment
cache
information 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 - Lifetime
Application number
JP57028731A
Other languages
English (en)
Other versions
JPS58147879A (ja
Inventor
Akira Sakauchi
Shohei Suzuki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co Ltd
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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP57028731A priority Critical patent/JPS58147879A/ja
Publication of JPS58147879A publication Critical patent/JPS58147879A/ja
Priority to US06/728,459 priority patent/US4654782A/en
Publication of JPH0351011B2 publication Critical patent/JPH0351011B2/ja
Granted 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/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed

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)
  • Advance Control (AREA)

Description

【発明の詳細な説明】 [発明の技術分野] 本発明はセグメンテーシヨン方式を採用する情
報処理装置に採用して好適なキヤツシユメモリ制
御方式に関する。
[発明の技術的背景とその問題点] 情報処理装置において、主記憶装置の動作速度
は中央処理装置の命令処理速度に比較して遅いた
め、主記憶装置のデータの一部写しをキヤツシユ
メモリと称される高速メモリに持つことにより、
メモリのデータアクセスによる処理速度の低下を
防止する技術が一般的に知られている。
上記アーキテクチヤを採用する情報処理装置で
は、キヤツシユメモリによる処理効率の向上をは
かるため、中央処理装置の参照するデータがキヤ
ツシユメモリの中に存在する割合(ヒツト率)を
高めるのに、いろいろな方策がとられる。
そのためには、キヤツシユメモリの内容の置換
が生じにくくなるようにキヤツシユメモリの容量
を大きくすること、キヤツシユメモリの内容を無
効化する割合を減らす方策等がある。
更に、中央処理装置内の処理ユニツト(例え
ば、命令解読部分と演算実行部分)毎のメモリア
クセスの競合を減らすため、命令用のキヤツシユ
とデータ用のキヤツシユとを別個に持つ情報処理
装置もある。
第1図は命令用キヤツシユとデータ用キヤツシ
ユとを別個に持つ情報処理装置の構成例を示すブ
ロツク図である。
図示した情報処理装置は、中央処理装置11と
主記憶装置12がメモリバス13を介して接続さ
れている。中央処理装置11は、機能的には命令
解読部101と演算処理部102とに区分されて
おり、それぞれ命令用キヤツシユ14とデータ用
キヤツシユ15を介してメモリバス13に接続さ
れている。
この場合、いずれのキヤツシユメモリを使用す
るかは、メモリアクセスが命令読み出しか否かの
ハードウエア論理に依存し、ソフトウエアとは無
関係に行われるのが通常である。
他の情報処理装置の構成例を第2図に示す。こ
の例では、キヤツシユメモリを例えばOS(オペレ
ーテイングシステム)用とユーザ用の2領域に区
分し、ユーザタスクの切替えによるキヤツシユの
無効化時にOS領域のキヤツシユが無効化されな
いようにコントロールされる。
図示する如く、この情報処理装置は中央処理装
置21とメモリバス23の間にキヤツシユメモリ
が配置されている。
キヤツシユメモリは、24と25のブロツクで
示すように2つのユニツトに区分され、中央処理
装置21がキヤツシユをアクセスするとき、その
いずれかが選択され使用される。
従来、キヤツシユメモリの2つのユニツトの選
択に中央処理装置の実行モードが利用されるもの
があつた。
中央処理装置は、OSのみが動作する特権モー
ドや一般ユーザプログラムが動作するユーザモー
ド等複数の実行モードを持つのが一般的である。
これを利用して実行モードによつて使用するキ
ヤツシユメモリユニツトを選択することが可能で
ある。
この方法によれば、キヤツシユメモリのユニツ
ト選択をソフトウエアに見せることなく管理でき
るが、特権モードで動作するプログラムステツプ
が大きくなるとOS用キヤツシユメモリ中のアク
セス頻度の高い部分も置換される可能性があると
いう欠点を生じる。
キヤツシユメモリのユニツト選択に用いられる
他の例では、OSが置かれているメモリ内位置
(これは仮想記憶方式をとる場合には論理記憶空
間内の位置の場合もある。)が定まつている場合
が大いことを利用するもので、メモリアクセスの
ために生成されたメモリアドレスがある一定範囲
に入つているか否かでキヤツシユメモリユニツト
を選択するものである。
この場合には、OS作成時第1のキヤツシユメ
モリユニツトを使用したいものをメモリ内の一定
領域に集めるようにしておけば良いが、OSの修
正等によりメモリ内位置を変更するとき等に融通
性に欠けるといつた欠点がある。
[発明の目的] 本発明は上記した欠点を除去したキヤツシユメ
モリ制御方式を提供することを目的とする。
[発明の概要] 本発明は、主記憶の一部写しを保持するキヤツ
シユメモリユニツトを複数持ち、更にセグメンテ
ーシヨン方式を採用する情報処理装置において、
上記主記憶をアクセスする際、アドレス生成に使
用するセグメント記述子に上記複数のキヤツシユ
メモリユニツトを選択的に使用するものである。
これによれば、キヤツシユメモリのユニツト制
御は大きくソフトウエアに依存することになる
が、逆にソフトウエア次第で効率の良いキヤツシ
ユメモリ制御が実現できる。
[発明の実施例] 以下、第3図以降を使用して本発明に関し詳細
説明を行う。
上記規模の情報処理装置において使用されるプ
ログラムは、メモリ(仮想記憶方式を取る情報処
理装置の場合には論理記憶空間)内の論理的な記
憶単位であるセグメントの集合で構成される。各
セグメントはセグメント記述子という特別のデー
タで記述される。
第3図に本発明にて使用されるセグメント記述
子の例を示す。
図において、ベースフイールド31はセグメン
トのメモリ内の開始番地を指定し、サイズフイー
ルド32はセグメントの大きさを指定する。33
はアクセス制御のためのフラグフイールドであ
り、例えば読み出し、書込み、あるいは実行の可
否等を指定する。
フイールド34は本発明により追加されるフイ
ールドであり、このフイールドによつてこのセグ
メントをアクセスする場合に複数のキヤツシユメ
モリユニツトの内の選択すべきユニツトを指定す
るものである。
第4図にセグメント記述子を使用してメモリア
ドレスを生成する回路の本発明実施例を示す。中
央処理装置400には、いくつかのセグメント記
述子を保持するセグメントレジスタ群40が置か
れる。
メモリを参照するにあたつて必要なセグメント
記述子はあらかじめセグメントレジスタ群40の
中の1個のレジスタにロードされ、セグメントレ
ジスタ番号によつて参照される。
メモリアドレス生成時にはセグメント番号がラ
イン46に与えられ、合わせてセグメント内アド
レスがライン45に与えられる。ライン46を介
して与えられるセグメント番号によつて決定され
るセグメントレジスタがセグメントレジスタ群4
0の中から決定され、そのベース41、サイズ4
2、キヤツシユメモリのユニツト指定フイールド
44等が出力される。
ベース41は加算器47に供給され、ライン4
5を介して供給されるセグメント内アドレスと加
算され、その結果がメモリアドレスレジスタ51
にセツトされる。
サイズ42は比較器48に供給され、ライン4
5を介して供給されるセグメント内アドレスのサ
イズチエツクのために使用される。
同時に読み出されたキヤツシユ指定フイールド
44の内容はレジスタ52にセツトされる。
ここで、キヤツシユメモリが例えばOSとユー
ザの2つの群に分けられるならばレジスタ52は
1ビツトの容量で済む。
第5図は本発明を実施することにより得られる
動作(キヤツシユメモリユニツト指定レジスタ5
2により2つのキヤツシユメモリユニツト55,
56のうちのいずれか1個が選択される)をブロ
ツク図に示した動作概念図である。
図において、55,56で示されるブロツクは
各々第1、第2のキヤツシユメモリユニツトであ
る。生成されたメモリアドレス(第4図51)は
双方のキヤツシユメモリユニツト55,56に供
給される。一方、キヤツシユ指定レジスタ52の
情報は、一方のキヤツシユメモリユニツト56に
はその内容そのままを付勢信号として入力し、他
方のキヤツシユメモリユニツト55にはその内容
の否定回路53による否定出力を付勢信号として
入力する。
即ち、キヤツシユメモリユニツト55と56は
必ずキヤツシユ指定レジスタ52の内容で選択さ
れた方だけが排他的に動作するように付勢され
る。
[発明の効果] 以上説明の如く、メモリを参照する際に使用さ
れたセグメント記述子の指示に従つて複数のキヤ
ツシユメモリユニツトのうちの1個を指定するこ
とができる。
このことにより、キヤツシユメモリのユニツト
選択制御は大きくソフトウエアに依存することに
なるが、逆にソフトウエア次第で効率の良いキヤ
ツシユメモリ制御を実現できる。
【図面の簡単な説明】
第1図・第2図は従来における情報処理装置の
構成例を示すブロツク図、第3図は本発明にて使
用されるセグメント記述子の内部フオーマツトを
示す図、第4図・第5図は本発明の実施例を示す
ブロツク図である。 400……中央処理装置、52……キヤツシユ
ユニツト指定レジスタ、55,56……キヤツシ
ユメモリユニツト。

Claims (1)

  1. 【特許請求の範囲】 1 セグメンテーシヨン方式を採用する情報処理
    装置において、 主記憶の任意の一部写しを保持する複数のキヤ
    ツシユメモリユニツトと、 前記複数のキヤツシユメモリユニツトのうちの
    1つを指定するフイールドを有するセグメント識
    別子と、 前記セグメント識別子の指定フイールドを参照
    し、前記複数のキヤツシユメモリユニツトのうち
    の1つを選択しアクセスする手段とを具備するこ
    とを特徴とするキヤツシユメモリ制御方式。
JP57028731A 1982-02-26 1982-02-26 キヤツシユメモリ制御方式 Granted JPS58147879A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP57028731A JPS58147879A (ja) 1982-02-26 1982-02-26 キヤツシユメモリ制御方式
US06/728,459 US4654782A (en) 1982-02-26 1985-05-01 Variable segment size plural cache system with cache memory unit selection based on relative priorities of accessed encached programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57028731A JPS58147879A (ja) 1982-02-26 1982-02-26 キヤツシユメモリ制御方式

Publications (2)

Publication Number Publication Date
JPS58147879A JPS58147879A (ja) 1983-09-02
JPH0351011B2 true JPH0351011B2 (ja) 1991-08-05

Family

ID=12256574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57028731A Granted JPS58147879A (ja) 1982-02-26 1982-02-26 キヤツシユメモリ制御方式

Country Status (2)

Country Link
US (1) US4654782A (ja)
JP (1) JPS58147879A (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61223942A (ja) * 1985-03-29 1986-10-04 Hitachi Ltd 情報検索制御方式
JPS61267149A (ja) * 1985-05-21 1986-11-26 Nec Corp デ−タ処理装置
US4727486A (en) * 1986-05-02 1988-02-23 Honeywell Information Systems Inc. Hardware demand fetch cycle system interface
AU597363B2 (en) * 1987-05-22 1990-05-31 Honeywell Bull Inc. Present bit recycle and detect logic for a memory management unit
US4945548A (en) * 1988-04-28 1990-07-31 Digital Equipment Corporation Method and apparatus for detecting impending overflow and/or underrun of elasticity buffer
US4878219A (en) * 1988-04-28 1989-10-31 Digital Equipment Corporation Method and apparatus for nodes in network to avoid shrinkage of an interframe gap
US4947319A (en) * 1988-09-15 1990-08-07 International Business Machines Corporation Arbitral dynamic cache using processor storage
US4994962A (en) * 1988-10-28 1991-02-19 Apollo Computer Inc. Variable length cache fill
GB9008145D0 (en) * 1989-05-31 1990-06-06 Ibm Microcomputer system employing address offset mechanism to increase the supported cache memory capacity
US5247653A (en) * 1990-08-17 1993-09-21 Seagate Technology, Inc. Adaptive segment control and method for simulating a multi-segment cache
US5271253A (en) * 1992-03-16 1993-12-21 Mas-Hamilton Group Electronic combination lock with magnetic anti-attack interlock
US5502828A (en) * 1992-12-18 1996-03-26 Advanced Micro Devices, Inc. Reducing memory access in a multi-cache multiprocessing environment with each cache mapped into different areas of main memory to avoid contention
US5465342A (en) * 1992-12-22 1995-11-07 International Business Machines Corporation Dynamically adaptive set associativity for cache memories
JPH09101916A (ja) * 1995-10-06 1997-04-15 Fujitsu Ltd マルチプロセス処理装置
GB9701960D0 (en) * 1997-01-30 1997-03-19 Sgs Thomson Microelectronics A cache system
DE69814703D1 (de) * 1997-01-30 2003-06-26 Sgs Thomson Microelectronics Cachespeichersystem für gleichzeitig laufende Prozesse
US6157981A (en) * 1998-05-27 2000-12-05 International Business Machines Corporation Real time invariant behavior cache

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5718075A (en) * 1980-07-07 1982-01-29 Nec Corp Information processor

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3723976A (en) * 1972-01-20 1973-03-27 Ibm Memory system with logical and real addressing
US4087794A (en) * 1973-01-02 1978-05-02 International Business Machines Corporation Multi-level storage hierarchy emulation monitor
FR130806A (ja) * 1973-11-21
US3938097A (en) * 1974-04-01 1976-02-10 Xerox Corporation Memory and buffer arrangement for digital computers
US3979726A (en) * 1974-04-10 1976-09-07 Honeywell Information Systems, Inc. Apparatus for selectively clearing a cache store in a processor having segmentation and paging
US3967247A (en) * 1974-11-11 1976-06-29 Sperry Rand Corporation Storage interface unit
US4268907A (en) * 1979-01-22 1981-05-19 Honeywell Information Systems Inc. Cache unit bypass apparatus
US4257097A (en) * 1978-12-11 1981-03-17 Bell Telephone Laboratories, Incorporated Multiprocessor system with demand assignable program paging stores
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
US4264953A (en) * 1979-03-30 1981-04-28 Honeywell Inc. Virtual cache
US4315312A (en) * 1979-12-19 1982-02-09 Ncr Corporation Cache memory having a variable data block size
FR2474201B1 (fr) * 1980-01-22 1986-05-16 Bull Sa Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d'un systeme de traitement numerique de l'information comprenant au moins deux processus possedant chacun un cache
US4332010A (en) * 1980-03-17 1982-05-25 International Business Machines Corporation Cache synonym detection and handling mechanism
US4392201A (en) * 1980-12-31 1983-07-05 Honeywell Information Systems Inc. Diagnostic subsystem for a cache memory
US4445172A (en) * 1980-12-31 1984-04-24 Honeywell Information Systems Inc. Data steering logic for the output of a cache memory having an odd/even bank structure
US4463424A (en) * 1981-02-19 1984-07-31 International Business Machines Corporation Method for dynamically allocating LRU/MRU managed memory among concurrent sequential processes
US4455602A (en) * 1981-05-22 1984-06-19 Data General Corporation Digital data processing system having an I/O means using unique address providing and access priority control techniques
US4464712A (en) * 1981-07-06 1984-08-07 International Business Machines Corporation Second level cache replacement method and apparatus
US4428045A (en) * 1981-09-11 1984-01-24 Data General Corporation Apparatus for specifying and resolving addresses of operands in a digital data processing system
US4476526A (en) * 1981-11-27 1984-10-09 Storage Technology Corporation Cache buffered memory subsystem
US4442487A (en) * 1981-12-31 1984-04-10 International Business Machines Corporation Three level memory hierarchy using write and share flags
US4493026A (en) * 1982-05-26 1985-01-08 International Business Machines Corporation Set associative sector cache

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5718075A (en) * 1980-07-07 1982-01-29 Nec Corp Information processor

Also Published As

Publication number Publication date
US4654782A (en) 1987-03-31
JPS58147879A (ja) 1983-09-02

Similar Documents

Publication Publication Date Title
JP2635058B2 (ja) アドレス変換方式
US4459661A (en) Channel address control system for a virtual machine system
JPH0351011B2 (ja)
EP0072108B1 (en) A multiple operating mode storage subsystem
US4812981A (en) Memory management system improving the efficiency of fork operations
US4476526A (en) Cache buffered memory subsystem
JP2571342B2 (ja) データをキャッシュ・メモリに貯蔵するシステム及び方法
JPS61141055A (ja) 情報処理装置のアドレス変換方式
JP2000227874A (ja) コンピュ―タ・システムにおいてディレクトリ構造を含むメイン・メモリの内容にアドレスするための方法および装置
JPH04242848A (ja) 走行モード別キャッシュメモリ制御方式
US5293622A (en) Computer system with input/output cache
US5107417A (en) Address translating method for translating virtual address to real address with specified address register to allow bypass of translation steps
JP2933628B2 (ja) 主記憶装置管理方法および計算機システム
JPH0548500B2 (ja)
JPH0552539B2 (ja)
JP2924708B2 (ja) 情報処理装置
JPH04291642A (ja) キャッシュ制御方式
JP3061818B2 (ja) マイクロ・プロセッサ用アクセス・モニタ装置
JPH0447344B2 (ja)
JP3190661B2 (ja) 情報処理システム
JPH02226447A (ja) コンピユータ・システムおよびその記憶装置アクセス方法
JPH077355B2 (ja) 情報処理装置
JPS589452B2 (ja) フア−ムウエアホウシキ
JPH04205535A (ja) コピーオンライト方式
JPS61267149A (ja) デ−タ処理装置