JPH0528414B2 - - Google Patents

Info

Publication number
JPH0528414B2
JPH0528414B2 JP62061182A JP6118287A JPH0528414B2 JP H0528414 B2 JPH0528414 B2 JP H0528414B2 JP 62061182 A JP62061182 A JP 62061182A JP 6118287 A JP6118287 A JP 6118287A JP H0528414 B2 JPH0528414 B2 JP H0528414B2
Authority
JP
Japan
Prior art keywords
data
address
array
column
buffer memory
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
JP62061182A
Other languages
Japanese (ja)
Other versions
JPS63228349A (en
Inventor
Yoshinari Nakasaki
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.)
NEC Corp
Original Assignee
Nippon 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP62061182A priority Critical patent/JPS63228349A/en
Publication of JPS63228349A publication Critical patent/JPS63228349A/en
Publication of JPH0528414B2 publication Critical patent/JPH0528414B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は主記憶装置内の情報の一部分の写しを
保持するバツフアメモリ装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a buffer memory device that maintains a copy of a portion of information in main memory.

〔従来の技術とその問題点〕[Conventional technology and its problems]

バツフアメモリは主記憶の一部の情報を格納
し、高速アクセスを可能にするために高速記憶素
子で構成する記憶部である。その動作は、プログ
ラムの動的なメモリアクセスの特性として、微小
時間内にアクセス対象となるデータおよび命令の
格納領域が集中するという局所性に基づいてい
る。つまり、この特性を利用して繰り返しアクセ
スされる可能性が高い情報をバツフアメモリに格
納し高速にアクセスできるようにすることによつ
て、主記憶のみで構成される記憶装置に比べて実
効的なアクセスが速い記憶装置を実現することが
できる。
The buffer memory is a storage section that stores part of the information in the main memory and is composed of high-speed storage elements to enable high-speed access. Its operation is based on locality, which is a characteristic of dynamic memory access of a program in that the storage area of data and instructions to be accessed is concentrated within a very short time. In other words, by taking advantage of this property, information that is likely to be accessed repeatedly is stored in buffer memory so that it can be accessed quickly, resulting in more effective access compared to storage devices that consist only of main memory. A fast storage device can be realized.

このバツフアメモリの構成は、主記憶の一部の
情報を格納するためのデータアレイと、このデー
タアレイ中にアクセス対象データが存在するか否
かを判定する部分と、この判定に基づいてデータ
アレイの出力を選択してバツフアメモリの出力に
する選択部と、データアレイ内にデータが存在し
ないと判定されると主記憶からデータアレイへの
データ転送を制御する制御部とで構成される。こ
のような構成のバツフアメモリにおいて、最も処
理時間を必要とする回路の経過(クリテイカルパ
ス)は、多くの場合、アクセスアドレス情報から
データの存在を判定する部分、さらに選択部を通
る経路である。特にデータの存在を判定する部分
は、データアレイと同様の記憶素子へのアクセス
と、そのアクセス結果とアドレス情報との比較処
理と、比較結果に基づいたデータアレイ出力選択
用の制御信号生成が必要である。
The configuration of this buffer memory consists of a data array for storing part of the information in the main memory, a part that determines whether or not there is data to be accessed in this data array, and a part that determines whether or not the data to be accessed exists in this data array. It is comprised of a selection section that selects an output and makes it an output of the buffer memory, and a control section that controls data transfer from the main memory to the data array when it is determined that no data exists in the data array. In a buffer memory having such a configuration, the circuit passage (critical path) that requires the most processing time is often a path that passes through a portion that determines the presence of data from access address information and then a selection portion. In particular, the part that determines the presence of data requires access to a storage element similar to a data array, comparison processing of the access result with address information, and generation of a control signal for data array output selection based on the comparison result. It is.

バツフアメモリのアクセス時間とデータ処理を
行うプロセツサでのサイクルタイムとは同程度に
なることが多い。この結果、バツフアメモリから
読み出したデータを一旦レジスタに格納して、次
のマシンサイクル以降にそのデータをプロセツサ
で処理する。
The access time of the buffer memory and the cycle time of the processor that processes data are often approximately the same. As a result, the data read from the buffer memory is temporarily stored in the register, and the data is processed by the processor from the next machine cycle onward.

一方、頻繁に処理対象となるデータについて上
記バツフアメモリよりも速くアクセス可能にして
プロセツサ内での距離を高速にする例として、ス
タツクメモリをプロセツサ内のハードウエアスタ
ツクで実現する方式がある。しかし、このように
プロセツサ内で特定のハードウエアを導入するこ
とはハードウエア量の増大が著しい。また、ハー
ドウエアスタツクの例では、ハードウエアスタツ
ク用の高速記憶素子と共にこのスタツク内データ
管理および主記憶とスタツクとの間のデータ転送
管理に必要な制御回路の量が多い。このハードウ
エア量の増加は装置コストの上昇、設計/検査の
長期化を伴う。
On the other hand, as an example of increasing the distance within a processor by making it possible to access data that is frequently processed faster than the buffer memory described above, there is a method in which the stack memory is realized by a hardware stack within the processor. However, introducing specific hardware within the processor as described above significantly increases the amount of hardware. In addition, in the case of a hardware stack, a large amount of control circuitry is required to manage data within the stack and to manage data transfer between the main memory and the stack, as well as high-speed storage elements for the hardware stack. This increase in the amount of hardware is accompanied by an increase in equipment cost and a longer design/inspection period.

本発明の目的は、このような従来の問題点を除
去せしめて、バツフアメモリの機能として特定の
データアクセス指定に対して、従来のバツフアメ
モリでのデータアクセスよりも速くアクセスでき
るようにして、プロセツサ内に高速記憶素子を実
装することによつて処理効率を向上させる方式と
同程度の処理効率向上を図るバツフアメモリ装置
を提供することにある。
An object of the present invention is to eliminate such conventional problems, and to provide a buffer memory function that allows faster access to specific data access specifications than conventional buffer memory. An object of the present invention is to provide a buffer memory device that improves processing efficiency to the same extent as a method that improves processing efficiency by mounting high-speed memory elements.

〔問題点を解決するための手段〕 本発明は、主記憶に格納されているデータの一
部を複数のカラムに分けて格納する高速小容量の
データアレイと、このデータアレイ内の各カラム
に対応したアドレス情報を保持するアドレスアレ
イとを有するバツフアメモリを備え、主記憶をア
クセスするためのアドレス情報に基づき前記アド
レスアレイを参照してアクセス対象データが前記
データアレイに存在するか否かを判定し、存在し
ていれば前記データアレイ内のカラムを特定する
ことにより前記データアレイ内のデータをアクセ
ス可能にするバツフアメモリ装置において、 前記アドレスアレイによる判定に依存すること
なく前記データアレイ内のカラムを特定するカラ
ム指定アクセス信号によつて前記データアレイ内
の対応ブロツクから出力されるデータをバツフア
メモリ装置からの出力データとして選択する手段
と、 主記憶アクセス用のアドレス情報によつて前記
アドレスアレイを参照した結果、前記データアレ
イ内に対応データが存在しないことが前記カラム
指定アクセス信号が出力されているときに判明す
ると、前記主記憶からカラム指定アクセス信号に
よつて指定されたカラムへ対応データを格納する
バツフア制御手段とを備え、 前記カラム指定アクセス信号によつて指定され
た前記データアレイ内カラムからデータを選択す
ることを特徴とする。
[Means for Solving the Problems] The present invention provides a high-speed, small-capacity data array that divides and stores a portion of data stored in main memory into multiple columns, and a and a buffer memory having an address array holding corresponding address information, and determines whether or not the data to be accessed exists in the data array by referring to the address array based on the address information for accessing the main memory. , a buffer memory device that makes data in the data array accessible by identifying columns in the data array, if any, identifying the columns in the data array without relying on a determination by the address array. means for selecting data output from a corresponding block in the data array as output data from the buffer memory device in response to a column designation access signal; and a result of referring to the address array using address information for main memory access. , if it is determined that the corresponding data does not exist in the data array while the column designation access signal is being output, a buffer for storing the corresponding data from the main memory into the column designated by the column designation access signal; and a control means for selecting data from a column in the data array designated by the column designation access signal.

〔作用〕[Effect]

本発明は上述の手段により、従来技術の問題点
を解決した。
The present invention solves the problems of the prior art through the above-mentioned means.

本発明によればバツフアメモリ装置のデータア
レイ内のカラムを指定する信号が外部から与えら
れると、アドレスアレイを利用した格納カラム検
出結果を待たず、データアレイ内の指定カラムか
らの出力をバツフアメモリ装置の出力として選択
することによつて、バツフアメモリ装置からの高
速アクセスを実現する。この結果、バツフアメモ
リ装置からデータを受けるプロセツサではカラム
指定を行つた場合には、バツフアメモリ装置から
出力されたデータを一旦、レジスタに格納するこ
となく、データ操作対象にすることができるなど
プロセツサ側での処理効率を向上させることがで
きる。
According to the present invention, when a signal specifying a column in the data array of the buffer memory device is applied from the outside, the output from the specified column in the data array is sent to the buffer memory device without waiting for the storage column detection result using the address array. By selecting it as an output, high-speed access from the buffer memory device is realized. As a result, when a column is specified in a processor that receives data from a buffer memory device, the data output from the buffer memory device can be manipulated without first being stored in a register. Processing efficiency can be improved.

本発明における高速なアクセスは、外部から与
えられるカラム指定信号が高速に与えられる場
合、あるいはアクセス開始前に与えられている場
合に実現できる。つまり、アドレスアレイへのア
クセスを伴う従来のバツフアメモリ装置における
アクセスよりも高速なアクセスを実現できる。
High-speed access according to the present invention can be achieved when the externally applied column designation signal is applied at high speed or when it is applied before the start of access. In other words, faster access can be achieved than in conventional buffer memory devices that involve accessing the address array.

さらに、カラム指定アクセス信号を使用して高
速アクセスを実現する効果が大きいスタツク操作
におけるデータアクセスについて、次のように大
別できる。
Furthermore, data accesses in stack operations, which are highly effective in achieving high-speed access using column designation access signals, can be broadly classified as follows.

(1) 最も新しく格納されたデータから順に古いデ
ータへとアクセスする。
(1) Access the oldest data in order from the newest stored data.

(2) 格納されたデータの新旧にかかわらず任意の
データをアクセスする。
(2) Access any stored data, regardless of whether it is new or old.

上記(1)の場合には最も新しく格納され、スタツ
クの有効な領域の先頭を示すスタツクトツプアド
レスおよびその直前、直後のアドレスがアクセス
対象になる。この場合には、メモリアクセスの局
所性が強いので、バツフアメモリ中にスタツクの
最近のアクセス対象領域を保持する効果が大き
い。
In the case of (1) above, the stack top address that is stored most recently and indicates the beginning of the valid area of the stack, and the addresses immediately before and after that address are the targets of access. In this case, since the locality of memory access is strong, it is highly effective to hold the most recently accessed area of the stack in the buffer memory.

上記(2)の場合として、Lisp言語あるいは
Prolog言語などを処理するために必要なスタツ
クがある。このスタツクではスタツクトツプアド
レスの近傍にアクセスが集中する状態が普通であ
るが、スタツクトツプアドレスから遠く離れた古
いデータへのアクセスも発生する。このとき、こ
の遠く離れた領域のデータをバツフアメモリ中に
保持することが通常のバツフアメモリ管理方式で
ある。しかしながら、バツフアメモリ中に保持し
ていてもその領域へのアクセスが発生する可能性
は極めて低く、バツフアリングの効果は少ない。
In case (2) above, Lisp language or
There is a stack required to process things like the Prolog language. In this stack, accesses are normally concentrated in the vicinity of the stack top address, but accesses to old data far away from the stack top address also occur. At this time, it is a normal buffer memory management method to hold data in this far away area in the buffer memory. However, even if the area is held in the buffer memory, there is a very low possibility that the area will be accessed, and the effect of buffering is small.

さらに、遠く離れた領域をバツフアメモリ中に
保持すること自体が悪影響を及ぼすことがある。
つまり、この領域とスタツクトツプの領域とが特
定カラムのデータアレイの格納領域として重なつ
ている場合には、遠く離れた領域用にスタツクト
ツプが占めていた領域が使われ、バツフアメモリ
から消されることになる。時間をおかずにスタツ
クトツプ領域がアクセス対象になるので、再び、
バツフアメモリへスタツクトツプ領域を格納する
ことが必要になるので効率が悪化する。この効率
悪化を防ぐためにスタツクトツプから遠く離れた
スタツク領域へのアクセスを行う場合には、デー
タアレイへの格納は行わない。
Furthermore, maintaining distant regions in buffer memory may itself have adverse effects.
In other words, if this area and the stack top area overlap as the storage area for the data array of a specific column, the area occupied by the stack top will be used for the distant area and will be deleted from the buffer memory. . The stack top area will be accessed soon, so again,
Since it is necessary to store the stack top area in the buffer memory, efficiency deteriorates. In order to prevent this deterioration in efficiency, when accessing a stack area far away from the stack top, data is not stored in the data array.

〔実施例〕〔Example〕

以下、本発明の実施例を図面を用いて詳細に説
明する。
Embodiments of the present invention will be described in detail below with reference to the drawings.

第1図は本発明のバツフアメモリ装置の一実施
例を示すブロツク図である。図中、10はデータ
を格納する主記憶、12は主記憶およびバツフア
メモリをアクセスするためのアドレス情報を格納
するアドレスレジスタである。アドレスレジスタ
12に格納される情報は、ローアドレス、カラム
アドレスおよびブロツク内での位置を示すブロツ
クアドレス情報に分けられる。
FIG. 1 is a block diagram showing one embodiment of the buffer memory device of the present invention. In the figure, 10 is a main memory for storing data, and 12 is an address register for storing address information for accessing the main memory and buffer memory. The information stored in the address register 12 is divided into row addresses, column addresses, and block address information indicating the position within the block.

バツフアメモリ装置は、主記憶10に存在する
データの一部を2つのカラムに格納し、複数ブロ
ツクで構成されるデータアレイ50と、データア
レイ50の2つのカラム(カラム1とカラム2)
と各ブロツクに対応してアドレスレジスタ12の
ローアドレスのフイールドに現れた情報を保持
し、カラムアドレスをアドレスとしてアクセスさ
れるアドレスアレイ51と、アドレスレジスタ1
2のカラムアドレスによつて読み出されるアドレ
スアレイ51中のローアドレス情報とアドレスレ
ジスタ12のローアドレスとを比較して一致する
か否かをカラム1とカラム2について検出する一
致回路52,53と、データアレイ50のカラム
1とカラム2の出力の1つを選択する選択回路5
4と、バツフアメモリ装置外のプロセツサから送
られカラム指定アクセス信号Sと一致回路52,
53の出力情報を入力して選択回路54で選択す
るカラムを指定する選択制御回路55と、主記憶
10から読み出したデータと選択回路54の出力
とを選択する選択回路56と、スタツク領域中で
新しいデータが格納されている側の先頭アドレス
を保持するスタツクトツプポインタ57と、アド
レスレジスタ12のローアドレスとこれに対応す
るスタツクトツプポインタのビツト群との一致を
検出する一致回路58とを構成要素とする。カラ
ム指定アクセス信号は、本実施例においてはカラ
ム1のアスセスを指定する信号である。
The buffer memory device stores part of the data existing in the main memory 10 in two columns, and includes a data array 50 consisting of a plurality of blocks, and two columns (column 1 and column 2) of the data array 50.
and an address array 51 which holds the information appearing in the row address field of the address register 12 corresponding to each block, and which is accessed using the column address as an address, and the address register 1.
matching circuits 52 and 53 that compare the row address information in the address array 51 read by the column address of column 2 with the row address of the address register 12 and detect whether or not they match for columns 1 and 2; Selection circuit 5 that selects one of the outputs of column 1 and column 2 of data array 50
4, a column designation access signal S sent from a processor outside the buffer memory device, and a coincidence circuit 52,
A selection control circuit 55 inputs the output information of 53 and specifies the column to be selected by the selection circuit 54; a selection circuit 56 selects the data read from the main memory 10 and the output of the selection circuit 54; A stack top pointer 57 holds the start address of the side where new data is stored, and a match circuit 58 detects a match between the row address of the address register 12 and the corresponding bit group of the stack top pointer. be a constituent element. The column designation access signal is a signal that designates column 1 access in this embodiment.

バツフア制御部17は、カラム指定アクセス信
号Sが出力されたときにデータアレイ50のカラ
ム1にアクセス対象データが存在すれば、選択回
路54の出力を選択するよう選択回路56を制御
する。アクセス対象データが存在しない場合に
は、主記憶10から読み出すが、このときデータ
アレイ50に格納するが否かを制御する。つま
り、スタツクトツプポインタ57とアドレスレジ
スタ12のローアドレスの値を比較し、一致回路
58からの一致/不一致の信号を受け、一致して
いれば、スタツクトツプの近傍データであると判
定してデータアレイ50のカラム1に主記憶10
から読み出したデータを格納する。不一致であれ
ば、スタツクトツプから離れたデータであると判
定してデータアレイ50には主記憶10から読み
出したデータは格納しないで、選択回路56によ
り主記憶10から読み出したデータをそのままプ
ロセツサへ送る。
If the data to be accessed exists in column 1 of the data array 50 when the column designation access signal S is output, the buffer control unit 17 controls the selection circuit 56 to select the output of the selection circuit 54. If the data to be accessed does not exist, it is read from the main memory 10, and at this time it is controlled whether to store it in the data array 50 or not. That is, the stack top pointer 57 and the row address value of the address register 12 are compared, a match/mismatch signal is received from the matching circuit 58, and if they match, it is determined that the data is near the stack top, and the data is Main memory 10 in column 1 of array 50
Store the data read from. If they do not match, it is determined that the data is distant from the stack top, and the data read from the main memory 10 is not stored in the data array 50, but the data read from the main memory 10 is sent to the processor as is by the selection circuit 56.

次に本実施例の動作を説明する。外部のプロセ
ツサからデータアレイ50のカラム1をアクセス
することを指定するカラムアクセス命令が出さ
れ、アクセス対象アドレスがアドレスレジスタ1
2に格納される。このアドレスはローアドレス、
カラムアドレス、ブロツクアドレスの順に“1
4,4,11”であるものとする。カラムアクセ
ス命令により、カラム指定アクセス信号Sがアク
テイブになり、選択制御回路55では一致回路5
2,53の出力に依存せずに、データアレイ50
のカラム1出力を選択回路54で選択するよう選
択回路54への指示信号を出力する。データアレ
イ50では、アドレスレジスタ12のカラムアド
レス、ブロツクアドレス“4,11”をアドレス
として入力することによりカラム1、カラム2か
らそれぞれ選択回路54へ対応データを出力す
る、選択回路54では選択制御回路55からカラ
ム1を選択するように指示する信号を受けて、デ
ータアレイ50のカラム1出力を選択回路54の
出力として選択する。
Next, the operation of this embodiment will be explained. A column access instruction specifying access to column 1 of data array 50 is issued from an external processor, and the access target address is address register 1.
2. This address is a low address,
“1” in the column address and block address order
4, 4, 11". The column access command makes the column designation access signal S active, and the selection control circuit 55 activates the matching circuit 5.
2,53, the data array 50
An instruction signal is output to the selection circuit 54 so that the selection circuit 54 selects the column 1 output of. In the data array 50, by inputting the column address and block address "4, 11" of the address register 12 as addresses, corresponding data is output from columns 1 and 2 to the selection circuit 54, respectively.The selection circuit 54 outputs corresponding data to the selection control circuit. In response to a signal instructing to select column 1 from data array 55, column 1 output of data array 50 is selected as the output of selection circuit 54.

選択回路54から出力されたデータがデータア
レイ50に実在したか否かを検査するために、ア
ドレスアレイ51の内容を一致回路52で検査す
る。
In order to check whether the data output from the selection circuit 54 actually exists in the data array 50, the contents of the address array 51 are checked by the matching circuit 52.

以下においてデータアレイ50にアドレスレジ
スタ12のアドレスに対応するデータが存在する
場合を説明する。第2図にアドレスアレイ51の
状態を図示する。アドレスレジスタ12のカラム
アドレス“4”でアドレスされるアドレスアレイ
51のカラム1にはローアドレスの値“14”が
格納され、対応するデータアレイ50のカラム1
のブロツクが有効であることを示す有効フラグが
“1”にセツトされている。さらにこのブロツク
に書込みが行われたことを示す書込みフラグが
“1”にセツトされている。このアドレスアレイ
51にアドレスレジスタ12のカラムアドレス
“4”を入力することによつてローアドレス“1
4”をカラム1から出力し一致回路52でアドレ
スレジスタ12のローアドレス“14”とを比較
することによつて一致を検出する。さらに有効フ
ラグも“1”であることから、データアレイ50
の対応ブロツクが有効であることをバツフア制御
部17に通知することにより、選択回路54の出
力がバツフアメモリの出力として有効であると判
定する。この結果、選択回路54からはアドレス
“14,4,11”に対応するデータが出力され、
選択回路56の出力としてもこのデータを出力し
て、カラムアクセス命令によるバツフアメモリと
しての処理を完了する。
A case where data corresponding to the address of the address register 12 exists in the data array 50 will be described below. FIG. 2 illustrates the state of address array 51. Row address value “14” is stored in column 1 of address array 51 addressed by column address “4” of address register 12, and column 1 of corresponding data array 50 is stored.
A valid flag indicating that the block is valid is set to "1". Furthermore, a write flag indicating that writing has been performed in this block is set to "1". By inputting the column address "4" of the address register 12 into this address array 51, the row address "1" is input.
A match is detected by outputting "4" from column 1 and comparing it with the row address "14" of the address register 12 in the matching circuit 52.Furthermore, since the valid flag is also "1", the data array 50
By notifying the buffer control unit 17 that the corresponding block is valid, it is determined that the output of the selection circuit 54 is valid as the output of the buffer memory. As a result, the selection circuit 54 outputs data corresponding to the addresses "14, 4, 11",
This data is also output as the output of the selection circuit 56, and the processing as a buffer memory by the column access command is completed.

次に、データアレイ50にアドレスレジスタ1
2のアドレスに対応するデータが存在しない場合
について説明する。この場合には、アドレスアレ
イ51のカラム1“4”番地には“14”以外の
値が入つている場合あるいは有効フラグが“0”
となつている場合がある。前者の場合には一致回
路52で不一致が検出され、バツフア制御部17
に通知する。有効フラグが“0”である場合にも
バツフア制御部17に通知する。いずれの場合に
おいても、選択回路54から出力されるデータは
カラムアクセス命令によつて要求されたデータで
はない。このときのスタツクトツプポインタ57
が示すアドレスは“14,5,10”であるもの
とする。ここでは、スタツクはアドレス増加の方
向に伸びる。このとき一致回路58の出力は、ロ
ーアドレス“14”がスタツクトツプポインタ5
7とアドレスレジスタ12とで一致するので一致
信号をバツフア制御部17に出力する。これを受
けて、バツフア制御部17ではカラムアクセス命
令によつて要求されたデータはスタツクトツプに
近いと判断して、対応するデータと、そのデータ
が属するブロツクを主記憶10から読み出し、デ
ータアレイ50のカラム1に格納する。格納され
る位置はカラムアドレス“4”で示される領域で
ある。さらにアドレスアレイ51も更新し、カラ
ム1のカラムアドレス“4”の内容が有効フラグ
“1”、書込みフラグ“0”、ローアドレス情報
“14”となる。
Next, address register 1 is added to data array 50.
A case where there is no data corresponding to address 2 will be explained. In this case, if address “4” in column 1 of address array 51 contains a value other than “14” or the valid flag is “0”.
In some cases, it is. In the former case, the coincidence circuit 52 detects a mismatch, and the buffer control section 17
to notify. Even if the valid flag is "0", the buffer control unit 17 is notified. In either case, the data output from selection circuit 54 is not the data requested by the column access command. Stack top pointer 57 at this time
Assume that the address indicated by is "14, 5, 10". Here, the stack grows in the direction of increasing addresses. At this time, the output of the coincidence circuit 58 indicates that the row address "14" is the stack top pointer 5.
7 and the address register 12, a match signal is output to the buffer control section 17. In response, the buffer control unit 17 determines that the data requested by the column access command is close to the stack top, reads the corresponding data and the block to which the data belongs from the main memory 10, and stores the data array 50. Store in column 1. The storage location is the area indicated by column address "4". Furthermore, the address array 51 is also updated, and the contents of column address "4" of column 1 become valid flag "1", write flag "0", and row address information "14".

アドレスレジスタ12が示すアドレスが“1
2,4,7”であるものとする。このときアドレ
スレジスタ12、スタツクトツプポインタ57の
ローアドレスは各々“12”,“14”となり、一
致回路58では不一致を検出する。バツフア制御
部17はデータアレイ50へのデータ格納および
アドレスアレイ51の更新は行わない。
The address indicated by the address register 12 is “1”
2, 4, 7". At this time, the row addresses of the address register 12 and stack top pointer 57 are "12" and "14", respectively, and the matching circuit 58 detects a mismatch. does not store data in data array 50 or update address array 51.

本実施例においては、スタツクトツプの近傍と
はスタツクトツプと同一のローアドレスである領
域を示す。動作例で示した各アドレスの位置と近
傍について第3図に示す。
In this embodiment, the vicinity of the stack top refers to an area having the same row address as the stack top. FIG. 3 shows the location and vicinity of each address shown in the operation example.

カラム指定アクセス信号Sはアクテイブでない
場合、選択制御回路55では、一致回路52,5
3から一致信号が出力されているカラムを選択す
るように選択回路54へ制御信号を送る。例えば
カラム指定アクセス信号Sがアクテイブでない状
態で、アドレスレジスタ12に格納されている
“14,4,11”のアドレスを参照する。この
ときのアドレスアレイ51が第2図の状態であれ
ば、一致回路52への2入力共に“14”となり
一致が検出され、さらに有効フラグが“1”であ
るのでカラム1を選択するように選択回路54へ
指示する。
When the column designation access signal S is not active, the selection control circuit 55 selects the matching circuits 52 and 5.
3 sends a control signal to the selection circuit 54 to select the column from which the matching signal is output. For example, when the column designation access signal S is not active, the address "14, 4, 11" stored in the address register 12 is referred to. If the address array 51 at this time is in the state shown in FIG. 2, both of the two inputs to the matching circuit 52 will be "14" and a match is detected, and since the valid flag is "1", column 1 will be selected. An instruction is given to the selection circuit 54.

〔発明の効果〕〔Effect of the invention〕

本発明によれば主記憶データの一部を高速記憶
に格納して高速なアクセスを可能にする通常キヤ
ツシユと呼ばれるバツフアメモリ装置において、
バツフアメモリ装置の外部からバツフアメモリ装
置内のデータアレイのカラム番号を指定する信号
を受けることによつて、さらに高速なアクセスを
可能にする。この結果、バツフアメモリ装置から
データを受けるプロセツサなどの外部装置へ高速
にデータを送ることができるので、外部装置での
処理効率を向上させることができる。
According to the present invention, in a buffer memory device usually called a cache, which stores a part of main memory data in high-speed memory to enable high-speed access,
By receiving a signal designating the column number of the data array within the buffer memory device from outside the buffer memory device, even faster access is possible. As a result, data can be sent at high speed to an external device such as a processor that receives data from the buffer memory device, thereby improving processing efficiency in the external device.

さらに本発明によれば、スタツク操作を行うと
きに、アクセス頻度が高いスタツクトツプの近傍
にあるデータをバツフアメモリ装置中に確保し、
アクセス頻度が低いスタツクトツプから離れたデ
ータをバツフアメモリ装置中には確保しないこと
により、バツフアメモリ装置中にアクセス対象デ
ータが存在する確率を高くして、使用効率を高め
ることができる。
Furthermore, according to the present invention, when performing a stack operation, data near a stack top that is frequently accessed is secured in a buffer memory device,
By not securing data remote from stack tops that are accessed infrequently in the buffer memory device, it is possible to increase the probability that the data to be accessed exists in the buffer memory device and improve usage efficiency.

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

第1図は本発明の一実施例を示すブロツク図、
第2図はある時点におけるアドレスアレイの状態
を示す図、第3図は動作例で示した各アドレスの
位置と近傍について示す図である。 10……主記憶、12……アドレスレジスタ、
17……バツフア制御部、50……データアレ
イ、51……アドレスアレイ、52,53……一
致回路、54,56……選択回路、55……選択
制御回路、57……スタツクトツプポインタ、5
8……一致回路。
FIG. 1 is a block diagram showing one embodiment of the present invention;
FIG. 2 is a diagram showing the state of the address array at a certain point in time, and FIG. 3 is a diagram showing the position and vicinity of each address shown in the operation example. 10...Main memory, 12...Address register,
17... Buffer control unit, 50... Data array, 51... Address array, 52, 53... Coincidence circuit, 54, 56... Selection circuit, 55... Selection control circuit, 57... Static top pointer, 5
8... Matching circuit.

Claims (1)

【特許請求の範囲】 1 主記憶に格納されているデータの一部を複数
のカラムに分けて格納する高速小容量のデータア
レイと、このデータアレイ内の各カラムに対応し
たアドレス情報を保持するアドレスアレイとを有
するバツフアメモリを備え、主記憶をアクセスす
るためのアドレス情報に基づき前記アドレスアレ
イを参照してアクセス対象データが前記データア
レイに存在するか否かを判定し、存在していれば
前記データアレイ内のカラムを特定することによ
り前記データアレイ内のデータをプロセツサに出
力可能にするバツフアメモリ装置において、 プロセツサからデータを参照するためにアドレ
スが与えられると、前記アドレスアレイによる判
定に依存することなく前記データアレイ内のカラ
ムを特定するカラム指定アクセス信号によつて特
定されたデータアレイ内の対応ブロツクから出力
されるデータを選択し、特定された前記アドレス
アレイ内カラムを参照した結果、前記の選択され
たデータがアクセス対象データとして有効である
ことが判明すればバツフアメモリ装置の出力デー
タにする手段と、無効であることが判明したとき
にスタツクとして使用している記憶領域の先頭ア
ドレスと前記カラム指定アクセス信号出力時に与
えられる参照対象データアドレスとを比較して前
記先頭アドレスに近いデータへのアクセスであれ
ば主記憶から読み出した対応データを前記データ
アレイに格納してプロセツサに送り、遠いデータ
へのアクセスであれば主記憶から読み出した対応
データを前記データアレイに格納しないでプロセ
ツサに送る手段とを備え、カラム指定アクセス信
号によつて指定されたカラムからのアクセスを高
速にし、スタツク構造においてスタツクのトツプ
アドレスから離れた領域のデータをバツフアメモ
リ装置に記憶しないことを特徴とするバツフアメ
モリ装置。
[Scope of Claims] 1. A high-speed, small-capacity data array that stores part of data stored in main memory divided into multiple columns, and holds address information corresponding to each column in this data array. a buffer memory having an address array; the address array is referred to based on the address information for accessing the main memory to determine whether or not the data to be accessed exists in the data array; In a buffer memory device that enables data in the data array to be output to a processor by specifying a column in the data array, when an address is given by the processor to refer to data, the buffer memory device depends on the determination by the address array. As a result of selecting the data output from the corresponding block in the data array specified by the column specifying access signal specifying the column in the data array without referring to the specified column in the address array, If the selected data is found to be valid as data to be accessed, means to convert it into output data of the buffer memory device, and if it is found to be invalid, the start address of the storage area used as the stack and the column. Compare this with the reference target data address given when the specified access signal is output, and if the access is to data close to the start address, the corresponding data read from the main memory is stored in the data array and sent to the processor, and the data is accessed far away. For accesses of A buffer memory device characterized in that data in an area away from a top address of the buffer memory device is not stored in the buffer memory device.
JP62061182A 1987-03-18 1987-03-18 Buffer memory device Granted JPS63228349A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62061182A JPS63228349A (en) 1987-03-18 1987-03-18 Buffer memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62061182A JPS63228349A (en) 1987-03-18 1987-03-18 Buffer memory device

Publications (2)

Publication Number Publication Date
JPS63228349A JPS63228349A (en) 1988-09-22
JPH0528414B2 true JPH0528414B2 (en) 1993-04-26

Family

ID=13163764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62061182A Granted JPS63228349A (en) 1987-03-18 1987-03-18 Buffer memory device

Country Status (1)

Country Link
JP (1) JPS63228349A (en)

Also Published As

Publication number Publication date
JPS63228349A (en) 1988-09-22

Similar Documents

Publication Publication Date Title
EP0019358B1 (en) Hierarchical data storage system
US5627988A (en) Data memories and method for storing multiple categories of data in latches dedicated to particular category
EP0167089B1 (en) Memory access control system and method for an information processing apparatus
US5717892A (en) Selectively operable cache memory
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
JPH0548497B2 (en)
US4424564A (en) Data processing system providing dual storage of reference bits
US4737908A (en) Buffer memory control system
JPH0528414B2 (en)
JPH07234819A (en) Cache memory
JPS60701B2 (en) data processing equipment
JP3130569B2 (en) Cache memory store method
JPS581247A (en) Cntrolling method for instruction advance-fetch
JPS63123145A (en) Buffer memory device
JPH06301600A (en) Storage device
JP2864548B2 (en) Instruction cache device
JPS6214919B2 (en)
JPH05257807A (en) Cache memory controller
JPS63311548A (en) Cache memory controlling system
JPH03116345A (en) Data processor
JPH04264641A (en) Cache memory system
JPH04363738A (en) Cache memory device
JPH0546477A (en) Cathe memory control method
JPH01255943A (en) Buffer storage control device
JPH04268638A (en) Cache memory system