JPS60146348A - Hierarchy memory control system - Google Patents

Hierarchy memory control system

Info

Publication number
JPS60146348A
JPS60146348A JP59002424A JP242484A JPS60146348A JP S60146348 A JPS60146348 A JP S60146348A JP 59002424 A JP59002424 A JP 59002424A JP 242484 A JP242484 A JP 242484A JP S60146348 A JPS60146348 A JP S60146348A
Authority
JP
Japan
Prior art keywords
storage device
data
speed
speed storage
buffering
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
Application number
JP59002424A
Other languages
Japanese (ja)
Other versions
JPH035621B2 (en
Inventor
Yasuharu Kosuge
小菅 康晴
Kenji Miyayasu
憲治 宮保
Hiroshi Ishikawa
宏 石川
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP59002424A priority Critical patent/JPS60146348A/en
Publication of JPS60146348A publication Critical patent/JPS60146348A/en
Publication of JPH035621B2 publication Critical patent/JPH035621B2/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/12Replacement control

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)

Abstract

PURPOSE:To attain both a random access and a sequential access with the same hierarchy memory by using a buffering area of a comparatively small high-speed memory to attain the buffering of the high-speed data of large quantity. CONSTITUTION:In case a sequential access request indicates the writing to a low-speed memory 4, a buffering control part 1 feeds an address and a write signal to a directory 2. In this case, the write data is written directly to the memory 4 with no intervention of a high-speed memory 3. The directory 2 decides an address to receive an access within the memory 3 from the input address and read/write signal. The memory 3 or 4 received an access transmits and receives the data to outside via a high-speed memory cycle allocating part 6. Thus the buffering is attained to an sequential access.

Description

【発明の詳細な説明】 発明の技術分野 本発明は、シーケンシャルに入力されるデータをバッフ
ァリングする際に、高速記憶装置(以下単に高速記憶と
いう)と低速記憶装置(以下単に低速記憶という)から
成る階層構成記憶装置(以下単に階層記憶という)を用
いて、大量のデータを効率良くバッファリングする階層
記憶制御方式%式% 従来技術と問題点 従来、シーケンシャルに入力されるデータをバッファリ
ングする場合、バッファ用記憶は階層構成をとっておら
ず、大量の高速データのバッファリングには大量の高速
記憶が必要であった。また、コンピュータで用いられて
いるキャッシュと主記憶から成る記憶システムを上記の
ようなバッファリングに使用し、プロセッサによってデ
ータを到着I1mに処理する場合、キャッシュの不要ブ
ロック追出しアルゴリズムは、いくつかの不要ブロック
中最も長い間使用されなかったものを追出すLRU(L
east Racently ’[Jsed)方式が一
般的であるため、必要なデータをキャッシュにおいて処
理したい時には既に主記憶に転送されている場合があシ
、処理要求が発生するまでには時間のかかる最近バッフ
ァリングされたデータのみがキャッシュ内に存在するこ
とになり、処理性能が大幅に低下する欠点があった。
DETAILED DESCRIPTION OF THE INVENTION Technical Field of the Invention The present invention provides a method for buffering sequentially input data from a high-speed storage device (hereinafter simply referred to as high-speed storage) and a low-speed storage device (hereinafter simply referred to as low-speed storage). Hierarchical storage control method for efficiently buffering a large amount of data using a hierarchical storage device (hereinafter simply referred to as hierarchical storage) consisting of % formula % Conventional technology and problems Conventionally, when buffering sequentially input data , buffer storage did not have a hierarchical structure, and buffering of large amounts of high-speed data required a large amount of high-speed storage. In addition, when a storage system consisting of a cache and main memory used in a computer is used for buffering as described above, and data is processed by a processor as it arrives I1m, the cache's unnecessary block eviction algorithm has several unnecessary problems. LRU (L
East Racently' [Jsed] method is common, so by the time you want to process the necessary data in the cache, it may have already been transferred to the main memory, and the recent buffering method takes time before a processing request occurs. Only the data that has been updated will exist in the cache, which has the disadvantage of significantly reducing processing performance.

発明の目的 本発明はこのような従来技術の問題点を解決しようとす
るものであって、その目的は、シーケンシャルに入力さ
れるデータをバッファリングする方式において、比較的
小さな高速記憶のバッファリングエリアを用意すること
によって、大量の高速データのバッファリングを行うこ
とができるとともに、通常の計算機システムにおけるキ
ャッシュと主記憶のシステムと併存させることができ、
従ってランダムアクセスにおけるデータのバッファリン
グとシーケンシャルアクセスにおけるデータのバッファ
リングとを同一の階層記憶で行うことができる方式を提
供することにちる。
OBJECT OF THE INVENTION The present invention attempts to solve the problems of the prior art, and its purpose is to provide a buffering area for relatively small high-speed storage in a method for buffering sequentially input data. By preparing a system, it is possible to buffer a large amount of high-speed data, and it can also coexist with the cache and main memory system in a normal computer system.
Therefore, it is an object of the present invention to provide a system that can perform data buffering in random access and data buffering in sequential access using the same hierarchical storage.

発明の構成 本発明の階層記憶制御方式は、高速記憶と低速記憶から
成る階層構成記憶を用いるとともに、該階層記憶内の各
記憶におけるバッファエリアの空塞状態及び使用順序を
管理する管理レジスタ群を′ 設け、高速記憶から低速
記憶への転送と、低速記憶から高速記憶への転送を、デ
ータがバッファリングされた順に実行するように構成し
たものである。
Structure of the Invention The hierarchical storage control method of the present invention uses a hierarchical storage consisting of high-speed storage and low-speed storage, and also includes a group of management registers that manage the empty status and usage order of buffer areas in each storage within the hierarchical storage. ′, and is configured to execute data transfer from high-speed storage to low-speed storage and from low-speed storage to high-speed storage in the order in which data is buffered.

発明の実施例 第1図は本発明の実施例の基本構成図であシ、1はバッ
ファリング制御部、2はディレクトリ、3は高速記憶、
4は低速記1意、5はブロック転送制御部、6は高速記
憶サイクル割付部、7はプロセッサである。
Embodiment of the Invention FIG. 1 is a basic configuration diagram of an embodiment of the invention, in which 1 is a buffering control section, 2 is a directory, 3 is a high-speed storage,
4 is a low speed register, 5 is a block transfer control section, 6 is a high speed storage cycle allocation section, and 7 is a processor.

本実施例は、通常の計算機システムに番けるキャッシュ
と主記憶から成る記憶システムの構成中にうめ込んだ形
で本発明の目的とする機能を実現するものでアシ、独立
に構成する場合にはディレクトリ2、高速記憶サイクル
割付部6.プロセッサ7を除いた形で容易に実現可能で
ある。
This embodiment realizes the functions aimed at by the present invention by being embedded in the configuration of a storage system consisting of a cache and main memory in a normal computer system; however, when configured independently, Directory 2, high-speed storage cycle allocation section 6. It can be easily realized without the processor 7.

外部からのシーケンシャルアクセス要求ハ高速記憶すイ
クル割付部6で、プロセッサ7からのアクセス要求との
優先判定に従って、高速記憶アクセスサイクルを割当て
られる。その後シーケンシャルアクセス要求はバッファ
リング制御部lに入力され、ここでバッファアドレスを
決定され、該アドレスが高速記憶内バッファエリアにあ
るか低速記憶内にあるか判定のうえ、読出又は書込信号
をアクセス要求の内容に従って付加してディレクトリ2
に入力される。プロセッサのアクセス要求については高
速記憶サイクル割付部6でアクセスサイクルを割当てら
れた後、直接ディレクトリ2に賦アクセス要求が入力さ
れる。
A high-speed storage cycle allocating unit 6 allocates a high-speed storage access cycle to a sequential access request from the outside according to a priority determination with respect to an access request from the processor 7. After that, the sequential access request is input to the buffering control unit l, which determines the buffer address, determines whether the address is in the buffer area in the high-speed memory or in the low-speed memory, and then accesses the read or write signal. Add directory 2 according to the request content
is input. Regarding the access request of the processor, after an access cycle is allocated by the high-speed storage cycle allocation unit 6, the access request is directly input to the directory 2.

本実施例においては、シーケンシャルアクセス要求が低
速記憶内バッファエリアへの書込みである場合には、バ
ッファリング制御部lはディレクトリ2にアドレスと書
込信号を入力するとともに、ディレクトリ2におけるミ
スヒツト発生に伴う低速記憶4から高速記憶3へのブロ
ック転送を禁止するためブロック転送制御部5−に対し
ブロック転送禁止信号を送出する。さらにこの場合、書
込みデータは高速記憶3を介さず、データバスに接続さ
れたバッファ(後述の第4図における41)に直接書込
まれ、後に低速記憶4に書込まれる。ブロック転送制御
部5の機能については上記禁止信号を解釈する機能以外
は通常の計算機システムで用いられているものと同一で
良い。
In this embodiment, when the sequential access request is for writing to a buffer area in low-speed memory, the buffering control unit l inputs an address and a write signal to the directory 2, and also inputs an address and a write signal to the directory 2. In order to prohibit block transfer from the low-speed storage 4 to the high-speed storage 3, a block transfer prohibition signal is sent to the block transfer control unit 5-. Furthermore, in this case, the write data is written directly to a buffer (41 in FIG. 4, which will be described later) connected to the data bus, without passing through the high-speed memory 3, and later written to the low-speed memory 4. The functions of the block transfer control section 5 may be the same as those used in a normal computer system, except for the function of interpreting the above-mentioned prohibition signal.

シーケンシャルアクセス要求に対してディレクトリ2は
入力されたアドレスと読出/書込信号とから、高速記憶
内のアクセスすべきアドレスを決定し、アクセスする。
In response to a sequential access request, the directory 2 determines the address to be accessed in the high speed memory from the input address and read/write signal, and accesses the address.

当該アドレスが高速記憶内に存在しなり場合は、低速記
憶をアクセスする(この場合、前述したように低速記憶
への書込アクセスにおいては、当該データを高速記憶へ
収容するためのブロック転送動作は起動されず、後刻バ
ッファリング制御部1が高速記憶内のバッファエリアに
空が生じたことを検知した段階で、外部からのシーケン
シャルアクセス要求及びプロセッサからのアクセス要求
とは独立して、該動作が起動される)。アクセスされた
高速又は低速記憶は高速記憶サイクル割付部6を介して
外部とデータの送受を行い、シーケンシャルアクセスに
対するバッファリングが実現される。なお、プロセッサ
7からのアクセスは高速記憶サイクル割付部6を経由し
て、ディレクトリ2に入力され一般的な計算機システム
において実現されている既知の手順で処理される。高速
記憶サイクル割付部6は優先判定回路、切替選択回路、
及びレジスタ回路等を用いた一般的ハードウエア技術に
より容易に構成できる。
If the address does not exist in the high-speed memory, the low-speed memory is accessed. When the buffering control unit 1 detects that the buffer area in the high-speed memory becomes empty, the operation is started independently of external sequential access requests and access requests from the processor. ). The accessed high-speed or low-speed memory transmits and receives data to and from the outside via the high-speed memory cycle allocation unit 6, and buffering for sequential access is realized. Note that accesses from the processor 7 are input to the directory 2 via the high-speed storage cycle allocation section 6 and processed using known procedures implemented in general computer systems. The high-speed storage cycle allocation unit 6 includes a priority determination circuit, a switching selection circuit,
It can be easily configured using general hardware technology using register circuits and register circuits.

第2図はバッファリング制御部1の概略講成を示したも
のであυ、11は高速記憶内のバッファリングエリアを
管理する高速記憶アドレス管理モジュール(AM−1)
、12は低速記憶内のバッファリングエリアを管理する
低速記憶アドレス管理モジュール(AM−2)、13は
入力されたシーケンシャルアクセス要求が外部からの入
データのバッファリングを要求するものか、データの外
部への送出を要求するものかを判定するとともに、人デ
ータのバッファリングの場合は使用すべきバッファアド
レスを決定するバッファアドレス発生及びリクエストデ
コード部(1−INT)、14はAM−1,AM−2の
状態を知り、バッファリング制御部1全体の動作モード
を決定する管理制御部(MNG)、15はAM−1、A
M−2、I−INT 、 MNGからのアクセスアドレ
スを選択するとともに読出又は書込命令i MNGから
の動作モードに従って発生して、ディレクトリ2に送出
するアドレス選択及びR/W命令発生部(0−INT)
である。
Fig. 2 shows a schematic diagram of the buffering control unit 1, where 11 is a high-speed memory address management module (AM-1) that manages the buffering area in the high-speed memory.
, 12 is a low-speed memory address management module (AM-2) that manages the buffering area in low-speed memory, and 13 is a low-speed memory address management module (AM-2) that manages the buffering area in low-speed memory; 13 indicates whether the input sequential access request requests buffering of external input data; 14 is a buffer address generation and request decoding unit (1-INT) that determines whether the request is to be sent to the AM-1, AM-1, and determines the buffer address to be used in the case of buffering human data; A management control unit (MNG) which knows the status of AM-1 and AM-2 and determines the operation mode of the entire buffering control unit 1;
M-2, I-INT, an address selection and R/W command generation section (0- INT)
It is.

第3図はAM−1,AM−2におけるアドレス管理の方
法を示した図である。111は高速記憶3のバッファア
ドレスを収容するN個のエントリから成るレジスタアレ
ー、1llaは次回のReadアクセス時に読出すべき
高速記憶3のアドレスを収容するレジスタアレー111
内のエントリ、1llbは次回のライトアクセス時に書
込むべき高速記憶3のアドレスを収容するレジスタアレ
ー111内のエントリ、112はエントリ111aのエ
ントリ番号を保持するポインタ(TP−1)、113は
エントリ1llbのエントリ番号を保持するポインタ(
BP−1) 、114はレジスタアレー111内で有効
データを保持しているエントリ数を収容するカウンタ(
CNT−1) 、121は低速記憶4のバッファアドレ
スを収容するM個のエントリから成るレジスタアレー、
121aは次回のリードアクセス時に読出すべき低速記
憶4のアドレスを収容するレジスタアレー121内のエ
ントリ、121bは次回のライトアクセス時に書込むべ
き低速記憶4のアドレスを収容するレジスタアレー12
1内のエントリ、122はエントリ121aのエントリ
番号を保持するポインタ(TR−2)、123はエント
リ121’bのエントリ番号を保持するポインタ(BP
−2)、124はレジスタアレー121内で有効データ
を保持しているエントリ数を収容するカウンタ(CNT
−2)である。第3図のレジスタアレー111 、12
1 において斜線を施したエントリが有効なアドレスデ
ータを収容しているエントリであり、データはエントリ
番号の昇順に追加、削除される。ただしレジスタアレー
121で示すように、アクセスされたエントリ奇岩が、
レジスタアレー中の最終エントリに至った場合は、次の
アクセスは、第1エントリにもどるサイクリックな形と
する。CNT−1はレジスタアレー111の斜線を施し
たエントリの数を、CNT” 2はレジスタアレ−12
1のそれを、それぞれ収容し、高速記憶3又は低速記憶
4に対するアクセスによるTP−1、BP−1、1”P
−2、BP−2の変化に合わせて、内容が変わる。
FIG. 3 is a diagram showing a method of address management in AM-1 and AM-2. 111 is a register array consisting of N entries that accommodates buffer addresses of high-speed memory 3; 1lla is a register array 111 that accommodates addresses of high-speed memory 3 to be read at the next read access;
The entry 1llb is an entry in the register array 111 that accommodates the address of the high-speed memory 3 to be written at the next write access, 112 is a pointer (TP-1) that holds the entry number of the entry 111a, and 113 is the entry 1llb. A pointer holding the entry number of (
BP-1), 114 is a counter (BP-1) that stores the number of entries holding valid data in the register array 111.
CNT-1), 121 is a register array consisting of M entries accommodating buffer addresses of low-speed memory 4;
121a is an entry in the register array 121 that accommodates the address of the low-speed memory 4 to be read during the next read access, and 121b is an entry in the register array 12 that accommodates the address of the low-speed memory 4 to be written during the next write access.
1, 122 is a pointer (TR-2) that holds the entry number of entry 121a, and 123 is a pointer (BP-2) that holds the entry number of entry 121'b.
-2), 124 is a counter (CNT
-2). Register arrays 111 and 12 in FIG.
The diagonally shaded entries in 1 are entries containing valid address data, and data is added and deleted in ascending order of entry numbers. However, as shown in the register array 121, the accessed entry strange rock is
When the final entry in the register array is reached, the next access is in a cyclic manner, returning to the first entry. CNT-1 is the number of hatched entries in the register array 111, and CNT"2 is the number of entries in the register array 12
TP-1, BP-1, 1''P by accessing the high-speed storage 3 or the low-speed storage 4, respectively.
-2, the contents change according to changes in BP-2.

第4図はバッファリング制御部1の実施例を示したもの
でsb、131は入デ゛−夕のバッファリンy要求o際
に、使用すべきバッファアドレスを与えるバツファアド
レスレジヌタであシ、シーケンシャルに入力されるデー
タに対し、次々に連続したバッファアドレスを与えられ
るよう一定の値を加算する機梠を持っており、初期値設
定及び値の変更はプロセッサ7からの指示によりなされ
る。
FIG. 4 shows an embodiment of the buffering control unit 1, in which sb and 131 are buffer address registers that provide the buffer address to be used when an input buffer request is made. , has the ability to add a certain value to sequentially input data so that consecutive buffer addresses can be given one after another, and the initial value setting and value change are performed by instructions from the processor 7.

132はアクセス要求に従って読出アクセスをすべきか
書込アクセスをすべきかを決定するリクエストデコーダ
である。141は114で示すカウンタ(GNT−1)
のデータを比較器142で、レジスタアレー111のエ
ントリ総数Nと比較した結果と、高速記憶サイクル割付
部6よシのシーケンシャルアクセス要求信号と、124
で示すカウンタ(CNT−2)ノデータとによシバソフ
ァリング転送制御部1の全体の動作モードを決定するバ
ッファリングデータ転送制御部(BTCTL ) 、、
142はカウンタ114(CNT−1)の内容と数値N
を比較する比較器、143は124で示すカウンタ(C
NT−2)の内容と数値Mを比較する比較器、151は
ディレクトリ2に送出するアクセスアドレスの選択回路
、152はBTCTL141かちの信号により、読出又
は書込命令をディレクトリ2に送出するアクセス命令発
生部でおる。
Reference numeral 132 denotes a request decoder that determines whether read access or write access should be performed according to the access request. 141 is the counter indicated by 114 (GNT-1)
The comparator 142 compares the data of 124 with the total number N of entries in the register array 111, the sequential access request signal from the high-speed storage cycle allocation unit 6, and 124.
The buffering data transfer control unit (BTCTL) determines the overall operation mode of the buffering transfer control unit 1 based on the data of the counter (CNT-2) indicated by .
142 is the contents of the counter 114 (CNT-1) and the numerical value N
143 is a counter (C
A comparator that compares the contents of NT-2) with the numerical value M, 151 is a selection circuit for an access address to be sent to the directory 2, and 152 is an access command generator that sends a read or write command to the directory 2 based on a signal from the BTCTL 141. I'm at the club.

なお、TP−1、BP−1、CNT−1、TP−2、B
P−2、CNT−2のリセット及び初期値設定はプロセ
ッサ7からの指示によシなされる。41は低速記憶4へ
書込むデータを一時的にバッファリングするバッファで
ある。
In addition, TP-1, BP-1, CNT-1, TP-2, B
Resetting and initial value setting of P-2 and CNT-2 are performed according to instructions from the processor 7. A buffer 41 temporarily buffers data to be written to the low-speed memory 4.

本実施例における概略動作を第5図に示す。第5図にお
いて外部からのシーケンシャルアクセス要求は高速記憶
サイクル割付部6においてプロセッサ7からのアクセス
要求との優先判定に従って、高速記憶アクセスアドレス
の割付可否が決定される。シーケンシャルアクセス要求
に対し高速記憶アクセスサイクルが一割付られた場合、
本実施例における動作は以下の4つのモードに大別され
る。
FIG. 5 schematically shows the operation in this embodiment. In FIG. 5, a high-speed memory cycle allocation unit 6 determines whether or not a high-speed memory access address can be allocated to a sequential access request from the outside, according to a priority judgment with respect to an access request from a processor 7. If 10% of high-speed memory access cycles are allocated to sequential access requests,
The operation in this embodiment is roughly divided into the following four modes.

なお、プロセッサ7からのアクセス要求に対し、高速記
憶アクセスサイクルが割付られた場合、本実施例におけ
る動作は通常の計算機システムにおけるキャッシュと主
記憶のそれと同様でおる。
Note that when a high-speed memory access cycle is assigned to an access request from the processor 7, the operation in this embodiment is similar to that of the cache and main memory in a normal computer system.

■)入データバッファリング動作(MODEI)■)デ
ータ送出動作(MODEI[) ■)高速記憶バッファオーバフロー発生時の低速記憶に
よる入データバッファリング動作(MODEnl) IV) MODE川発生後発生後高速記憶バッファエリ
ア生時の低速記憶から高速記憶へのバッファリングデー
タの転送(MODE IV )上記■)〜■)のどのモ
ードを起動するかは以下の条件でBTCTL 141が
決定する。
■) Input data buffering operation (MODEI) ■) Data sending operation (MODEI[) ■) Input data buffering operation using low-speed storage when a high-speed storage buffer overflow occurs (MODEnl) IV) High-speed storage buffer after the MODE river occurs Transfer of buffering data from low-speed storage to high-speed storage at the time of area creation (MODE IV) The BTCTL 141 determines which mode of the above (1) to (4) to be activated based on the following conditions.

i) S*INRQ*((N−(CNT−1))>0)
ならばMODE1 ii) S*0UTRQ ならばMODEnl iii) S*INRQ*((N−(CNT−1) )
=0 )*((M−(ONT−2))>0 )ならばM
ODEl[iv) V*((N−(CNT−1))>O
)*((CNT−2)>O)ならばMODEIV なお、S*INRQ*((N−(CNT−1) )=0
 )*((M−(CNT−2) )=0 )ならば、ビ
ジー信号をプロセッサ7及び高速記憶サイクル割付部6
に送出する。
i) S*INRQ*((N-(CNT-1))>0)
If MODE1 ii) S*0UTRQ then MODEnl iii) S*INRQ*((N-(CNT-1))
=0 ) * ((M-(ONT-2))>0 ) then M
ODEl[iv) V*((N-(CNT-1))>O
)*((CNT-2)>O) then MODEIV. Furthermore, S*INRQ*((N-(CNT-1))=0
)*((M-(CNT-2))=0), then the busy signal is sent to the processor 7 and the high-speed storage cycle allocation unit 6.
Send to.

ただし、 S:現在の記憶アクセスサイクルがシーケンシャルアク
セス要求に割当てられている。
However, S: The current storage access cycle is assigned to a sequential access request.

■:現在の記憶アクセスサイクルは空転である(伺も割
当られていない)。
■: The current memory access cycle is idle (no access is assigned).

INRQ :データの受信要求である。INRQ: Data reception request.

0UTRQ :データの送信要求である。0UTRQ: Data transmission request.

(CNT−1) : 114のカウンタCNT−1の内
容(CNT−2) : 124のカウンタCNT−2の
内容S 、 V 、 INRQ 、 0UTRQは高速
記憶サーイクル割伺部6からBTCTL 141に入力
される信号である。
(CNT-1): The contents of the counter CNT-1 at 114 (CNT-2): The contents S, V, INRQ, 0UTRQ of the counter CNT-2 at 124 are input from the high-speed storage cycle interrupting unit 6 to the BTCTL 141. It's a signal.

また、第5図においては (TP−1) :ポインタ112の内容でレジスタアレ
=111のエントリ番号を示す。
Further, in FIG. 5, (TP-1): The contents of the pointer 112 indicate the entry number of register array=111.

(BP−1) :ポインタ113の内容でレジスタアレ
ー111のエントリ番号を示す。
(BP-1): The content of the pointer 113 indicates the entry number of the register array 111.

(TP−2) :ポインタ122の内容でレジスタアレ
ー 121のエントリ番号を示す。
(TP-2): The contents of the pointer 122 indicate the entry number of the register array 121.

(BP−2) :ポインタ123の内容でレジスタアレ
ー121のエントリ番号を示す。
(BP-2): The content of the pointer 123 indicates the entry number of the register array 121.

((TP−1)) :レジスタアレー111のTP−1
で示される番号のエントリの内容であり高 速記憶3のアドレスを示す。
((TP-1)): TP-1 of register array 111
This is the content of the entry with the number indicated by and indicates the address of the high-speed memory 3.

((BP−1)):レジスタアレー111のBP−1で
示される番号のエントリの内容であり高 速記憶3のアドレスを示す。
((BP-1)): This is the content of the entry numbered BP-1 in the register array 111 and indicates the address of the high-speed memory 3.

((TP−2)):レジスタアレー121のTP−2で
示される番号のエントリの内容であり低 速記憶4のアドレスを示す。
((TP-2)): This is the content of the entry numbered TP-2 in the register array 121 and indicates the address of the low-speed storage 4.

((BP−2)):レジスタアレー121のBP−2で
示される番号のエントリの内容であシ低 速記、憶4のアドレスを示す。
((BP-2)): This is the content of the entry numbered BP-2 in the register array 121 and indicates the address of the low-speed memory 4.

以下に各モードの詳細を説明する。Details of each mode will be explained below.

1) MODEl 1)リクエストデコーダ132は書込アクセス信号を出
力し、BP−1の内容で指示されるレジタp7V−11
1のエントリにバッファアドレスレジスタ131の内容
を書込むと同時に同じ内容を選択回路151に入力する
。該回路はBTCTL 141 cD指示(*印)信号
をONとする)によ59該内容を選択し出力する。
1) MODEL 1) The request decoder 132 outputs a write access signal and registers p7V-11 indicated by the contents of BP-1.
At the same time as writing the contents of the buffer address register 131 to the entry No. 1, the same contents are input to the selection circuit 151. The circuit selects and outputs the content 59 by turning on the BTCTL 141 cD instruction (* mark) signal.

ii) BTCTL 141によりアクセス命令発生部
152は書込命令を発生させる。
ii) The access command generation unit 152 generates a write command based on the BTCTL 141.

1ii) i)’で得た内容をアドレスとし、11)の
命令でディレクトリ2をアクセスする。
1ii) Using the contents obtained in i)' as an address, access directory 2 with the command in 11).

この後ディレクトリ2は該アクセスを低速記憶3のアク
セスであると判定し該記憶をアクセスする。
Thereafter, the directory 2 determines that the access is an access to the low-speed storage 3, and accesses the storage.

1v)バッファアドレスレジスタ131及ヒBp−xの
内容は次のアクセスに備えてノー−ドウエアにより自動
的に更新される。
1v) The contents of the buffer address register 131 and Bp-x are automatically updated by the nodeware in preparation for the next access.

It) MODEn i)リクエストデコーダ132はReadアクセス信号
を出力し、TP−1の内容で指示されるレジスタアレー
111のエントリからその内容を読出して選択回路15
1に入力する。該回路はBTCTL 141の指示(*
*印の信号をONとする)によシ該内容を選択し出力す
る。
It) MODEn i) The request decoder 132 outputs a Read access signal, reads the contents from the entry of the register array 111 specified by the contents of TP-1, and sends the contents to the selection circuit 15.
Enter 1. The circuit follows the instructions of BTCTL 141 (*
(Turn on the signal marked *) to select and output the content.

ii) BTCTL 141によりアクセス命令発生部
152は読出命令を発生させる。
ii) Based on the BTCTL 141, the access instruction generation unit 152 generates a read instruction.

1ii) i)で得た内容をアドレスとし、11)の命
令でディレクトリ2をアクセスする。
1ii) Using the content obtained in i) as an address, access directory 2 with the command in 11).

この後ディレクトリ2は該アクセスを高速記憶3のアク
セスであると判定し該記憶をアクセスする。
Thereafter, the directory 2 determines that the access is an access to the high-speed storage 3 and accesses the storage.

1v)TP−1の内容は次のアクセスに備えてノー−ド
ウエアにより自動的に更新される。
1v) The contents of TP-1 are automatically updated by the nodeware in preparation for the next access.

1) MODEil 1)リクエストデコーダ132は七−込アクセス信 ′
号を出力する。一方比較器142はCNT−1の内容と
工/トリ数Nが一致している旨をBTCTL141に通
知しているため***印の信号がONとされる。
1) MODEil 1) The request decoder 132 receives a seven-inclusive access signal.
Output the number. On the other hand, since the comparator 142 notifies the BTCTL 141 that the content of CNT-1 and the number of work/tries N match, the signal marked with *** is turned ON.

、−1i) ***印の信号がONとなったため一5ソ
ファアドレスレジスタ131の内容は、BP−2の内容
で指示されるレジスタアレー121のエントリに書込ま
れると同時に、同じ内容が選択回路151に入力される
。該回路は***印の信号がONであるため該内容t−
選択し出力する。
, -1i) Since the signal marked *** turned ON, the contents of the 15 sofa address register 131 are written to the entry of the register array 121 specified by the contents of BP-2, and at the same time the same contents are selected. It is input to circuit 151. In this circuit, the signal marked with *** is ON, so the content is t-
Select and output.

1ii) BTCTL 141によシアクセス命令発生
部152は香、込命令を発生させる。
1ii) The access command generation unit 152 generates an access command to the BTCTL 141.

iv) ii)で得た内Mkアドレスとし、■)の命令
でディレクトリ2をアクセスする。
iv) Using the Mk address obtained in ii), access directory 2 with the command ①).

この後ディレクトリ2はミスヒツトの発生によシ該アク
セスを低速記憶4のアクセスであると判定し、該記憶を
アクセスする。
Thereafter, the directory 2 determines that the access is an access to the low-speed storage 4 due to the occurrence of a miss, and accesses the storage.

■)ディレクトリ2はiv)で低速記憶4をアクセスし
た後、該内容を高速記憶3に転送するようブロック転送
制御部5へ指示を出す(これは通常の計算機システムに
おける一般的制御である)。
(2) After accessing the low-speed storage 4 in step iv), the directory 2 issues an instruction to the block transfer control unit 5 to transfer the contents to the high-speed storage 3 (this is a general control in a normal computer system).

vi) BTCTL 141によシ***印の信号力O
N 、!:されているが、ブロック転送制御部5では、
この信号をV)に示したディレクトリ2からの指示を無
視する信号と解釈し、転送動作を起動しない。(この機
能は本発明を通常の計算機システムにおける一般的制御
機構と共存させるため、本発明に不都合な機能を一時的
に停止させるものである。) vii ) バッファアドレスレジスタ131及びBP
−2の内容は、次のアクセスに備えてハードウェアによ
シ自動的に更新される。
vi) Signal power O marked with *** for BTCTL 141
N,! : However, in the block transfer control unit 5,
This signal is interpreted as a signal to ignore the instruction from directory 2 shown in V), and the transfer operation is not started. (This function temporarily stops functions that are inconvenient to the present invention in order to allow the present invention to coexist with a general control mechanism in a normal computer system.) vii) Buffer address register 131 and BP
The contents of -2 are automatically updated by hardware in preparation for the next access.

IV) MODEN i) BTCTL141は、現在の記憶アクセスサイク
ルが空転であること、(N−(CNT−1))>oであ
シ、レジスタアレー111に空エントリがあること、(
CNT−2)>0であり、レジスタアレー121に有効
データを含んだエントリがあることを検知して****
印の信号をONとする。
IV) MODEN i) The BTCTL 141 determines that the current memory access cycle is idle, (N-(CNT-1))>o, and that there is an empty entry in the register array 111.
CNT-2) > 0, and it is detected that there is an entry containing valid data in the register array 121.
Turn on the signal marked with the mark.

ii ) ****印の信号がONとなったことにより
、TP−2の内容で指示されるレジスタアレー121の
エントリからその内容を読出して選択回路151に入力
するとともに、該内容をBP−1の内容で指示されるレ
ジスタアレー111のエントリに書込む。選択回路15
1は****印の信号がONであるため該内容を選択し
出力する。
ii) When the signal marked *** is turned ON, the contents are read from the entry of the register array 121 specified by the contents of TP-2 and input to the selection circuit 151, and the contents are transferred to the BP-2. Write to the entry in register array 111 indicated by the content of 1. Selection circuit 15
1, the signal marked *** is ON, so the content is selected and output.

ii) BCTL 141によシアクセス命令発生部1
52は読出し命令を発生させる。
ii) BCTL 141 access command generation unit 1
52 generates a read command.

1リ 11)で得た内容をアドレスとし、1ii)の命
令でディレクトリ2をアクセスする。
1. Using the contents obtained in 11) as an address, access directory 2 with the command 1ii).

この、後ディレクトリ2は該アクセスを低速記憶4のア
クセスであると判定し該記憶をアクセスする。
The rear directory 2 determines that the access is an access to the low-speed storage 4 and accesses the storage.

■)ディレクトリ2はiv)で低速記憶をアクセスした
後、該内容を高速記憶3に転送するようにブロック転送
制御部5へ指示を出す。(これは通常の計算機システム
における一般的制御である。) Vi) BP−1、CNT−1、TP−2、CNT−2
の内容は、次のアクセスに備えてハードウェアによシ自
動的に更新される。
(2) After accessing the low-speed storage in step iv), the directory 2 issues an instruction to the block transfer control unit 5 to transfer the contents to the high-speed storage 3. (This is general control in a normal computer system.) Vi) BP-1, CNT-1, TP-2, CNT-2
The contents are automatically updated by hardware in preparation for the next access.

以上述べたデータバッファリングの機構を、通常の計算
機システムにおけるキャッシュと主記憶から成る記憶シ
ステムの構成中にうめ込んで実現するため、ディレクト
リ2において、例えば一般的なLRU追出アルゴリズム
と共存させる構成とする必要がある。
In order to realize the data buffering mechanism described above by incorporating it into the configuration of a storage system consisting of a cache and main memory in a normal computer system, the directory 2 is configured to coexist with, for example, a general LRU eviction algorithm. It is necessary to do so.

第6図は、本実施例におけるディレクトリ2の構成例で
ある。本図は追出アルゴリズムの実現に関連する部分の
みを示しであるが、本図に示されていない部分は、通常
の計算機システムにおけるものと同様に構成すれば良い
。本実施例においては、高速記憶と低速記憶の間のマツ
ピング方式は、セットアンシイアティプ方式を前提とし
ているが、他の方式を用いても、本実施例から容易に本
発明の機能を実現する構成を得ることができる。21は
LRUアルゴリズムを実現するための情報を保持するL
RUテーブル(LRUT)、22は高速記憶中のシーケ
ンシャルバッファとして使用しているブロックを表示す
るためのフラグを収容するシーケンシャルバッファ表示
フラグアレイ(SQBFA) 、23はLRUT 21
と5QBFA22の情報をもとに不要追出ブロックを決
定するLRU変換/決定回路(LRUCD )、24は
高速記憶部に収容されているブロックのアドレスを保持
するアドレスアレイ(AA) ’1 241及び31は
LRUCD23からの情報に基づき、データを収容する
ブロックを選択する入ブロック選択回路、242及び3
2はLRUCD 23からの情報に基づき出力すべきデ
ータを収容しているブロックを選択する出ブロック選択
回路である。
FIG. 6 shows an example of the structure of the directory 2 in this embodiment. This figure shows only the parts related to the implementation of the eviction algorithm, but the parts not shown in this figure may be configured in the same way as in a normal computer system. In this embodiment, the mapping method between high-speed storage and low-speed storage is based on the set-anonymous method, but even if other methods are used, the functions of the present invention can be easily realized from this embodiment. You can get the configuration. 21 is L that holds information for realizing the LRU algorithm.
RU table (LRUT), 22 is a sequential buffer display flag array (SQBFA) that accommodates flags for displaying blocks used as sequential buffers during high-speed storage, 23 is LRUT 21
LRU conversion/determination circuit (LRUCD) that determines unnecessary blocks based on the information of 5QBFA 22 and 5QBFA 22, and 24 are address arrays (AA) '1 241 and 31 that hold addresses of blocks stored in the high-speed storage section. are input block selection circuits 242 and 3 that select blocks containing data based on information from the LRUCD 23;
Reference numeral 2 denotes an output block selection circuit that selects a block containing data to be output based on information from the LRUCD 23.

5QBFA22とAA 24は高速記憶3と同じ4行n
列の構成となっており、LRUT21は6行n列の構成
となっている。5QBFA22 、 AA24のX行Y
列に位置するブロックは、高速記憶3のX行Y列のブロ
ックに関するシーケンシャルバッファ表示フラグ。
5QBFA22 and AA24 are the same 4 rows n as high-speed memory 3
The LRUT 21 has a structure of 6 rows and n columns. 5QBFA22, AA24 X row Y
The block located in the column is a sequential buffer display flag for the block in the X row and Y column of the high-speed storage 3.

アドレス情報をそれぞれ収容するもので6 、り 、5
QBFA22のブロックは対応する高速記憶3のブロッ
クが、シーケンシャルバッファとして使用されている場
合は1”、そうでない場合は“0”が収容されている。
6, 5, and 6, which respectively contain address information.
A block of the QBFA 22 stores "1" when the corresponding block of the high-speed memory 3 is used as a sequential buffer, and "0" otherwise.

LRUT 21はある列の高速記憶のA、B。LRUT 21 is a certain column of high-speed memory A and B.

C,Dの4ブロツクについて、対応する列の6ピツ) 
(AB、AC,AD、BC,BD、CD)により、追出
ブロックを決定できる情報を保持している。
6 pits in the corresponding column for 4 blocks C and D)
(AB, AC, AD, BC, BD, CD) holds information that can determine the eviction block.

第7図はLRUT 21のAB、AC,AD、BC,B
D、CDの6ビツトによシ追出ブロックを決定する方法
、及びシーケンシャルバッファとして使用されているブ
ロックを追出ブロックとして選択しない方法の概念図で
ある。第7図(a)は、A、B、C,Dの4ブロツクに
対し、互いに他と直接に接続される向を持った線を組合
せたグラフでおる。各々の方向を持った線をAB、AC
,AD、BC,BD、CDと名付け、AB線の場合、ブ
ロックAからBに矢印が向いている時に1#、そうでな
い時に0”とする。他の線についても左の文字のブロッ
クから右の文字のブロックに矢印が向いている時にt1
u、そうでない時@0#とする。従って、AB、AC,
AD、BC,BD、CDの6ビツトにより、A、B、C
,Dの4ブロツクとそれらを接続する線の方向が変化す
るグラフを表示することかできる。このようなグラフに
おいて、あるブロックがアクセスされた時、そのブロッ
クに接続されている線の矢印を、そのブロックから他の
ブロックに向うよう変更するよう制御した場合、LRU
アルゴリズムにより、追出ブロックとして選定されるブ
ロックは、接続されている線の矢印がすべて自己の万に
向いているブロックとなる。第7図(a)においてはブ
ロックDが追出ブロックとして選定されている。
Figure 7 shows AB, AC, AD, BC, B of LRUT 21.
FIG. 4 is a conceptual diagram of a method of determining an expelled block using 6 bits of D and CD, and a method of not selecting a block used as a sequential buffer as an expelled block. FIG. 7(a) is a graph in which four blocks A, B, C, and D are combined with lines that are directly connected to each other. Lines with each direction are AB and AC
, AD, BC, BD, and CD. For AB lines, when the arrow is pointing from block A to B, it is 1#, and when it is not, it is 0". For other lines, from the left character block to the right. t1 when the arrow is pointing to the block of characters.
u, otherwise set @0#. Therefore, AB, AC,
A, B, C by 6 bits of AD, BC, BD, and CD.
, D, and a graph in which the direction of the line connecting them changes can be displayed. In such a graph, when a certain block is accessed, if the arrow of the line connected to that block is changed to point from that block to another block, LRU
According to the algorithm, the block selected as the evicted block is one in which all the arrows of the connected lines are pointing towards the block itself. In FIG. 7(a), block D is selected as the evicted block.

第7図(b) 、 ((り 、 (d)はシーケンシャ
ルバッファ用ブロックとして、ブロックA、Cが使用さ
れている場合に、追出ブロックとしてA、Cが選択され
ないようにする方法を示したものである。第7図(b)
ではブロックAが追出ブロックとして選択されているが
、(C)の段階でブロックA’を修正アクセスし、この
段階でブロックCが追出ブロックとして選択されるため
、さらに(d)の段階でブロックCを修正アクセスして
結局ブロックDを追出ブロックとして選択するものであ
る。
Figure 7(b), ((ri), (d) shows a method to prevent blocks A and C from being selected as evicted blocks when blocks A and C are used as sequential buffer blocks. Figure 7(b)
In step (C), block A' is selected as the evicted block, but block A' is accessed for modification at step (C), and block C is selected as the evicted block at this stage. Block C is accessed for modification and block D is eventually selected as the evicted block.

第8図は、第7図で示された方法を実現するためのLR
UCD23の構成例である。231〜236はLRUT
21のある列のデータ6ビツトをラーツチするフリップ
フロップ、2310〜2360は231〜236の修正
された内容をラッチするフリップフロップ、2371〜
2374は5QBFA22の対応する列のデータ4ビツ
トをラッチするフリップフロップ、2375〜2378
1dタイミング発生回路からのクロックを2371〜2
374の内容に従ってブロック/ノンブロックするAN
Dゲートであシ、これらの信号は231〜236のフリ
ップ70ツブのS、R端子に入力され、対応するブロッ
クの修正アクセスを実行した効果を与える。
FIG. 8 shows the LR for realizing the method shown in FIG.
This is an example of the configuration of the UCD 23. 231-236 are LRUT
Flip-flops latching 6 bits of data in a certain column of 21; 2310-2360 flip-flops latching modified contents of 231-236; 2371-2360;
2374 is a flip-flop that latches 4 bits of data in the corresponding column of 5QBFA 22, 2375 to 2378
The clock from the 1d timing generation circuit is 2371~2
AN to block/non-block according to the contents of 374
These signals are input to the S and R terminals of the flips 231 to 236 using the D gates, giving the effect of executing a modified access of the corresponding block.

2391〜2394は第7図(a)に従ってLRUによ
る追出ブロックを選択するANDゲートである。238
はφ0゜φ1.φ2.φ3.φ4.φ5を順々に発生さ
せるタイミング発生回路でおり、φ1〜φ4は修正アク
セスに用いられるパルスである。
2391 to 2394 are AND gates for selecting blocks to be evicted by LRU according to FIG. 7(a). 238
is φ0°φ1. φ2. φ3. φ4. This is a timing generation circuit that sequentially generates φ5, and φ1 to φ4 are pulses used for modifying access.

第8図において、第6図の第1列目のデータが入力され
た場合の動作を説明する。以下(1)〜(vii)まで
順に動作が進む。
Referring to FIG. 8, the operation when the data in the first column of FIG. 6 is input will be described. The operations proceed in order from (1) to (vii) below.

(1)クロックφ0により(AB、AC,AD、BC,
BD、CD)= (o、o、o、t、i、o) がレジ
スタ231〜236にラッチされる。また同時に(A、
B、C,D)=(1゜o、i、o)がレジスタ2371
〜2374にラッチされる。
(1) By clock φ0 (AB, AC, AD, BC,
BD, CD)=(o, o, o, t, i, o) are latched in registers 231-236. At the same time (A,
B, C, D) = (1° o, i, o) is the register 2371
~2374 is latched.

(ji)タイミング発生回路238からクロックφlが
出力され、レジスタ2371の出力が1であるためゲー
ト2375がONとなシ、レジスタ231 、232 
(ji) Since the clock φl is output from the timing generation circuit 238 and the output of the register 2371 is 1, the gate 2375 is not turned on, and the registers 231 and 232
.

233が1にセットされ(AB 、AC、AD、BC、
BD、CD)= (i、t、i、t、i、o)となる。
233 is set to 1 (AB, AC, AD, BC,
BD, CD) = (i, t, i, t, i, o).

(m)タイミング発生回路238からクロックφ2が出
力されるが、レジスタ2372の出力が0であるため、
ゲー) 2376はOFFのままである。
(m) Clock φ2 is output from the timing generation circuit 238, but since the output of the register 2372 is 0,
Game) 2376 remains OFF.

(1v)タイミング発生回路238からクロックφ8が
出力され、レジスタ2373の出力が1であるためゲ−
) 2377がONとなり、レジスタ232 、234
がリセット、レジスタ236がセットされ(AB、AC
(1v) Since the clock φ8 is output from the timing generation circuit 238 and the output of the register 2373 is 1, the game
) 2377 turns on, registers 232 and 234
is reset and register 236 is set (AB, AC
.

AD、BC,BD、CD) = (1,0,1,0,1
,1)となる。
AD, BC, BD, CD) = (1,0,1,0,1
,1).

(V)タイミング発生回路238からクロックφ4が出
力されるが、レジスタ2374の出力が0であるため、
ゲート2378はOFFのままである。
(V) Clock φ4 is output from the timing generation circuit 238, but since the output of the register 2374 is 0,
Gate 2378 remains OFF.

(vl)タイミング発生回路238からクロックφ5が
出力され、レジスタ231〜236の最終結果がレジス
タ231O〜2360に保存される。
(vl) Clock φ5 is output from timing generation circuit 238, and the final results of registers 231-236 are stored in registers 231O-2360.

(Vii) (AB、AC,AD、BC,BD、CD)
 = (1,0,1,0,1゜l)であるためゲー) 
2391〜2394のうちゲート2392のみがONと
なり、ブロックDが追出ブロックとして選択される。
(Vii) (AB, AC, AD, BC, BD, CD)
= (1,0,1,0,1゜l), so it is game)
Among gates 2391 to 2394, only gate 2392 is turned on, and block D is selected as the evicted block.

以上(i ) 〜(vii)の動作は第7図(b) −
+ (c) −+ (d)tv動作と同じである。
The operations (i) to (vii) above are shown in FIG. 7(b).
+ (c) −+ (d) Same as tv operation.

第7図(b) 、 ((り 、 (d)に示した動作を
行なわせるに当っては、4ブロック全部がシーケンシャ
ルバッファとして使用されないことを仮定しており、こ
の仮定を実現するには、AM−1におけるレジスタアレ
ー111で管理すべきバッファエリアを高速記憶の一以
下の容量(高速記憶の構造が1行4ブロツクであるため
、少なくとも1ブロツクはシーケンシャルバッファに使
用せずに残す必要があるためであシ、1行nブロックで
あればm−v’m以下の容量)とする必要があり、プロ
グラムのミスヒツトによる性能低下を防止するためには
さらに小さくした方が良い。一方AM−2におけるレジ
スタアレー121の大きさは充分大きくとれるので、シ
ステム全体のシーケンシャルバッファも充分大きくとる
ことができる。
In performing the operations shown in FIG. 7(b), ((ri) and (d), it is assumed that all four blocks are not used as sequential buffers, and to realize this assumption, The buffer area to be managed by the register array 111 in the AM-1 is one or less of the capacity of the high-speed memory (the structure of the high-speed memory is 4 blocks per row, so at least one block must be left unused for the sequential buffer). For this reason, the capacity must be less than m-v'm for one row and n blocks, and it is better to make it even smaller to prevent performance degradation due to program mishits.On the other hand, AM-2 Since the size of the register array 121 can be made sufficiently large, the sequential buffer of the entire system can also be made sufficiently large.

本実施例において、11で示すモジュールAM−1゜n
で示すモジュールAM−2は、レジスタアレー111゜
121、ポインタ112 、113 、122 、12
3、カウンタ114 、124等を設は目的とする機能
を実現しているが、これらの代シに全エントリの空塞検
知機能を持つ連想記憶によりm成しても艮い。
In this embodiment, the module AM-1゜n indicated by 11
The module AM-2 indicated by 111, 121, pointers 112, 113, 122, 12
3. Although the counters 114, 124, etc. are provided to achieve the intended functions, they may be replaced by an associative memory having a function of detecting emptiness and occupancy of all entries.

以上説明した実施例は、シーケンシャルに入力されるデ
ータのバッファリングを高速記憶3内のバッファエリア
を用いて実行し、該バッファエリアが満となった後は低
速記憶4内のバッファエリアを用いて実行して、高速記
憶内バッファエリアに空が生じた段階で、低速記憶内バ
ッファエリア中のデータを高速記憶内バッファエリアへ
転送する、という動作をするものでラシ、第9図(A)
 (a)にその状況を示す。ここで31は高速記憶内バ
ッファエリア、42は低速記憶内バッファエリアである
In the embodiment described above, sequentially input data is buffered using the buffer area in the high-speed memory 3, and after the buffer area is full, the buffer area in the low-speed memory 4 is used to buffer the sequentially input data. After execution, when the high-speed memory buffer area becomes empty, the data in the low-speed memory buffer area is transferred to the high-speed memory buffer area, as shown in Figure 9 (A).
The situation is shown in (a). Here, 31 is a high-speed memory buffer area, and 42 is a low-speed memory buffer area.

第9図囚において、入データのバッファアドレスは当初
AM−1で管理・記録され(())、AMI中のレジス
タアレー111(第3図、第4図参照)が満となった後
はAM−2で管理・記録される(Q )。その後レジス
タアレー111に空が発生すればAM−2中に保存され
ているアドレスは届−1に転送される(6))。その後
AM−1から出力される(0’)。第9図(a)は第9
図(6)の動作においてAM−1をバッファエリア31
 、 AM−2’t−ノ(ツファエリア42に置きかえ
て、入力されたデータについて全だく同じ動作をさせた
ものであシ、これまで説明した実施例の基本的動作を示
したものである。
In Figure 9, the buffer address of input data is initially managed and recorded in AM-1 (()), and after the register array 111 in the AMI (see Figures 3 and 4) is full, the buffer address of the input data is managed and recorded in AM-1. -2 is managed and recorded (Q). After that, when register array 111 becomes empty, the address stored in AM-2 is transferred to notification-1 (6)). After that, it is output from AM-1 (0'). Figure 9(a) is the 9th
In the operation shown in Figure (6), AM-1 is moved to the buffer area 31.
, AM-2't- (replaces the buffer area 42 and performs exactly the same operation on input data), and shows the basic operation of the embodiments described so far.

ここで、高速記憶3のバッファエリア31が満となった
後は、直ちに低速記憶内バッファエリア42でバッファ
リングさせる残月(高速記憶3に設けた新たなバッファ
エリア32で継続してバッファリングを行なわせながら
(第9図(13) (b)のQ。
Here, after the buffer area 31 of the high-speed memory 3 becomes full, buffering is immediately performed in the buffer area 42 in the low-speed memory (buffering is continued in a new buffer area 32 provided in the high-speed memory 3). (Q in Figure 9 (13) (b)).

())、同バッファエリアから低速記憶内バッファエリ
ア42ヘデータを転送しr4J3.Q)、バッファエリ
ア31に空ができた段階でバツファ工、リア42からバ
ッファエリア31のデータを転送する((3p ’、 
())という実施例も考えられる。第9図ψバb)にそ
の実施例の基本動作を示す。第9図CB) (b)にお
いて32は高速記憶内に新たに設けたバッファエリア、
110は同エリアのアドレス管理・記録を行うアドレス
管理モジュール1’ (AM−1’ )で−(エン) 
IJ数L)を有する。第10図は第9図CB)(b)に
示した基本動作をより詳細に流れ図として示したもので
ある。この流れ図を実現するバッファリング制御部l、
ディレクトリ2.及びブロック転送制御部5の構成は本
明細書に示した構成から通常の技術により容易に導出可
能である。
()), transfers data from the same buffer area to the low-speed memory buffer area 42, and r4J3. Q), When the buffer area 31 is empty, transfer the data in the buffer area 31 from the buffer controller and rear 42 ((3p',
()) can also be considered. The basic operation of this embodiment is shown in FIG. 9 φb). Figure 9 CB) In (b), 32 is a newly created buffer area in the high-speed memory;
110 is the address management module 1'(AM-1') that manages and records addresses in the same area.
IJ number L). FIG. 10 shows the basic operation shown in FIG. 9 CB) (b) in more detail as a flowchart. A buffering control unit l that realizes this flowchart,
Directory 2. The configuration of the block transfer control unit 5 can be easily derived from the configuration shown in this specification using ordinary techniques.

発明の詳細 な説明したように、本発明はシーケンシャルに入力され
るデータのバッファリングに、高速記憶と低速記憶から
成る階層構成記憶を用いるとともに、該階層記憶内の谷
記憶におけるバッファエリアの空塞状態及び使用順序を
管理する管理レジスタ群及び制御部を設け、高速記憶と
低速記憶間の転送をデータがバッファリングされた順に
実行するものであシ、以下に示す利点、効果がある。
As described in detail, the present invention uses a hierarchical storage structure consisting of high-speed storage and low-speed storage for buffering sequentially input data, and eliminates vacancies in the buffer area in the valley storage within the hierarchical storage. A management register group and a control unit are provided to manage the status and order of use, and transfer between high-speed storage and low-speed storage is performed in the order in which data is buffered, and has the following advantages and effects.

(1) 大量の高速データのバッファリングにおいても
、比較的小さな高速記憶のバッファリングエリアを用意
すれば艮い。
(1) Even when buffering a large amount of high-speed data, it is possible to prepare a relatively small buffering area for high-speed storage.

(2) 通常の計算機システムにおけるキャッシュと主
記憶のシステムと併存させることが可能で、プログラム
処理とシーケンシャルデータのバッファリングを同一の
階層記憶で行うことができる。
(2) It is possible to coexist with the cache and main memory systems in a normal computer system, and program processing and sequential data buffering can be performed in the same hierarchical memory.

(3) (1) (2)により通常の計算機システムの
キャッシュに、匝接回腺のインクフェースを持たせ、回
線からのデータ処理とプログラム走行を同一のハードウ
ェアで実行する手段を提供し得る。
(3) By (1) and (2), it is possible to provide a means to provide the cache of a normal computer system with an ink face of the inverting circuit, and to execute data processing from the line and program execution on the same hardware. .

(4) (3)においてバッファリング用エリアの設定
に自由度があシ、使用状況に応じてダイナミックに変更
することも可能なため、記憶エリア、処理能力の有効利
用が可能となpX経済的描成とすることができる。
(4) In (3), there is a degree of freedom in setting the buffering area, and it can also be changed dynamically depending on the usage situation, making it possible to effectively use the storage area and processing capacity. It can be drawn.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の一実施例の基本構成、第2図はバッフ
ァリング制御部の概略構成、第3図はアドレス管理方法
、第4図はバッファリング制御部の実施例、第5図は第
4図の実施例の概略動作、第6図はブイレフ) IJの
構成例、第7図は追出ブロック決定方法、°第8図はL
RU 袈換/決定回路の構成例、第9図は第1.第2の
丈施例の基本動作、第10図は第2の実施例の概略動作
をそれぞれ示す図である。 1・・・バッファリング制御部、2・・・ディレクトリ
、3・・・高速記憶、4・・・低速記憶、5・・・ブロ
ック転送制御部、6・・・高速記憶サイクル割付部、7
・・・プロセッサ、11は高速記憶アドレス管理モジュ
ール(AM−1)、12・・・低速記憶アドレス管理モ
ジュール(AM−2) 、13・・・バッフ“rアドレ
ス発生およびリクエストデコード部(I INT)、1
4・・・管理制御部(MNG) 、15 ・・・アドレ
ス遠択及びR/W命令命令部生部−INT)。 特許出願人 日本電信電話公社 代理人弁理士 玉 蟲 久 五 部 (外2名) 第7図 (α) (b) (c) AB:OAB:I AC:OAC:+ AD:OAD:I BC:+ BC・ 1 13D:I 13D:I CD:Q CD:’0 AB: 1 AC:I AD:1 13C:I BD: 1 QD:1 (d) AB;+ AC:O AD++ BC0 8D ・ I CD:1
FIG. 1 shows the basic configuration of an embodiment of the present invention, FIG. 2 shows a schematic configuration of a buffering control section, FIG. 3 shows an address management method, FIG. 4 shows an embodiment of the buffering control section, and FIG. Figure 4 shows the schematic operation of the embodiment, Figure 6 shows an example of the configuration of IJ, Figure 7 shows the method of determining the expelled block, and Figure 8 shows the L
An example of the configuration of the RU switching/determination circuit, FIG. FIG. 10 is a diagram showing the basic operation of the second length embodiment, and FIG. 10 is a diagram showing a schematic operation of the second embodiment. DESCRIPTION OF SYMBOLS 1... Buffering control part, 2... Directory, 3... High-speed storage, 4... Low-speed storage, 5... Block transfer control part, 6... High-speed storage cycle allocation part, 7
. . . Processor, 11 is a high-speed storage address management module (AM-1), 12 is a low-speed storage address management module (AM-2), 13 is a buffer “r address generation and request decoding unit (I INT)” ,1
4...Management control unit (MNG), 15...Address remote selection and R/W command instruction unit (INT). Patent Applicant Nippon Telegraph and Telephone Public Corporation Patent Attorney Hisashi Gobe Tamamushi (2 others) Figure 7 (α) (b) (c) AB: OAB: I AC: OAC: + AD: OAD: I BC: + BC・ 1 13D:I 13D:I CD:Q CD:'0 AB: 1 AC:I AD:1 13C:I BD: 1 QD:1 (d) AB;+ AC:O AD++ BC0 8D・I CD :1

Claims (2)

【特許請求の範囲】[Claims] (1) 高速記憶装置と低速記憶装置とからなる階層記
憶装置、該階層記憶装置内の各記憶装置におけるそれぞ
れのバッファエリアにおけるデータの誓込み状況を管理
するとともにバッファリング順序の情報を保持する前記
各記憶装置対応に設けられたレジスタ群と、該レジスタ
群のそれぞれの空塞全検知してバッファリングされた情
報の階層記憶装置内における転送を実行するバッファ転
送制御手段とを含むバッファリング制御手段を具え、高
速記憶装置においてシーケンシャルに入力されるデータ
に割シ当てられたバッファが満となったとき階層記憶装
置内の低速記憶装置で入力データのバッファリングを行
い、高速記憶装置のバッファエリアに空きが生じたとき
前記低速記憶装置にバッファリングされているデータを
高速記憶装置の前記空きバッファエリアへ低速記憶装置
ヘバッファリングされた順に転送することを特徴とする
Is’J層記憶制御方式。
(1) A hierarchical storage device consisting of a high-speed storage device and a low-speed storage device, and the above-described storage device that manages data commitment status in each buffer area of each storage device in the hierarchical storage device and holds information on buffering order. Buffering control means that includes a register group provided corresponding to each storage device, and a buffer transfer control means that detects whether or not each of the register groups is empty and performs transfer of buffered information within the hierarchical storage device. When the buffer allocated to sequentially input data in the high-speed storage device becomes full, the input data is buffered in the low-speed storage device in the hierarchical storage device, and the data is transferred to the buffer area of the high-speed storage device. An Is'J layer storage control method, characterized in that, when a free space occurs, the data buffered in the low-speed storage device is transferred to the free buffer area of the high-speed storage device in the order in which it was buffered to the low-speed storage device.
(2) 高速記憶装置と低速記憶装置とからなる階層記
憶装置、該階層記憶装置内の各記憶装置のそれぞれのバ
ッファエリアにおけるデータの書込み状況を管理すると
ともにバッファリング順序の情報を保持する前記谷記憶
装置対応に設けられたレジスタ群と該レジスタ群のそれ
ぞれの空塞を検知してバックプリングされた情報の階層
記憶装置内における転送を実行するバッファデータ転送
制御手段と金含むバッファリング制御手段、ランダムア
クセスに対する空きエリアを確保するときは高速記憶装
置内のバッファ等リアから追い出すべきデータブロック
の内定をLR1Jアルゴリズムによって行う追い出しブ
ロック決定手段、シーケンシャルアクセスに対する空き
エリアが存在しないときには低速記憶装置にデータのバ
ッファリングを行い後刻高速記憶装置に空きエリアが生
じたとき低速記憶装置でバッファリングされた順に古い
データから高速記憶装置に転送するデータ転送手段を具
え、ランダムアクセス時は高速記憶装置におけるランダ
ムアクセスに対するバッファが満となったとき前記追い
出しブロック決定手段によって決定されたデータを追い
出して高速記憶装置に対するデータの転送を行うととも
に、シーケンシャルアクセス時は前記データ転送手段に
よって高速記憶装置に対するデータの転送を行うことを
特徴とする階層記憶制御方式。
(2) A hierarchical storage device consisting of a high-speed storage device and a low-speed storage device, and the valley that manages the writing status of data in each buffer area of each storage device in the hierarchical storage device and holds information on the buffering order. A buffering control means including a register group provided corresponding to a storage device, a buffer data transfer control means for detecting emptiness of each register group, and executing transfer of backed-up information within the hierarchical storage device; When securing a free area for random access, the eviction block determining means uses the LR1J algorithm to determine the data block to be evicted from the buffer area in the high-speed storage device, and when there is no free area for sequential access, the data block is transferred to the low-speed storage device. It is equipped with a data transfer means that performs buffering and transfers the oldest data to the high-speed storage device in the order in which it was buffered in the low-speed storage device when a free area later becomes available in the high-speed storage device. When the buffer becomes full, the data determined by the expulsion block determining means is ejected and the data is transferred to the high speed storage device, and at the time of sequential access, the data transfer means is used to transfer the data to the high speed storage device. A hierarchical storage control method featuring:
JP59002424A 1984-01-10 1984-01-10 Hierarchy memory control system Granted JPS60146348A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59002424A JPS60146348A (en) 1984-01-10 1984-01-10 Hierarchy memory control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59002424A JPS60146348A (en) 1984-01-10 1984-01-10 Hierarchy memory control system

Publications (2)

Publication Number Publication Date
JPS60146348A true JPS60146348A (en) 1985-08-02
JPH035621B2 JPH035621B2 (en) 1991-01-28

Family

ID=11528869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59002424A Granted JPS60146348A (en) 1984-01-10 1984-01-10 Hierarchy memory control system

Country Status (1)

Country Link
JP (1) JPS60146348A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6775744B2 (en) 2001-09-05 2004-08-10 Hitachi, Ltd. Disk memory device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57203278A (en) * 1981-06-08 1982-12-13 Hitachi Ltd Controlling method for hierarchical buffer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57203278A (en) * 1981-06-08 1982-12-13 Hitachi Ltd Controlling method for hierarchical buffer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6775744B2 (en) 2001-09-05 2004-08-10 Hitachi, Ltd. Disk memory device

Also Published As

Publication number Publication date
JPH035621B2 (en) 1991-01-28

Similar Documents

Publication Publication Date Title
US5864876A (en) DMA device with local page table
JP5715644B2 (en) System and method for storing data in a high speed virtual memory system
CN113424160B (en) Processing method, processing device and related equipment
US6505287B2 (en) Virtual channel memory access controlling circuit
JP5453546B2 (en) Address translation unit containing multiple virtual queues
US20200218662A1 (en) Data caching device and control method therefor, data processing chip, and data processing system
CN109582214B (en) Data access method and computer system
CN107818052B (en) Memory access method and device
WO2006084417A1 (en) A buffer management method based on a bitmap table
US6718439B1 (en) Cache memory and method of operation
CN108897701B (en) cache storage device
JPH11288386A (en) Computer system
JP3444154B2 (en) Memory access control circuit
JPS60146348A (en) Hierarchy memory control system
US4400793A (en) Method and arrangement for fast access to CCD-stores
US8812782B2 (en) Memory management system and memory management method
WO2022021177A1 (en) Caching system and method, and chip
JP2001209573A (en) Memory address converter
JPH0239339A (en) Cache memory device
JPH07152650A (en) Cache control unit
JPS5994287A (en) High-speed address converter
CN117311638A (en) Cache management method, cache management device and processor
Inkol et al. Design and Realization of a Two-Level 64K Byte CCD Memory System for Microcomputer Applications
JPH05173879A (en) Cache memory system
JPH09282231A (en) Write-back type cache device

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term