JPH0194459A - Buffer memory controller - Google Patents
Buffer memory controllerInfo
- Publication number
- JPH0194459A JPH0194459A JP62251472A JP25147287A JPH0194459A JP H0194459 A JPH0194459 A JP H0194459A JP 62251472 A JP62251472 A JP 62251472A JP 25147287 A JP25147287 A JP 25147287A JP H0194459 A JPH0194459 A JP H0194459A
- Authority
- JP
- Japan
- Prior art keywords
- address
- buffer
- real
- memory
- baa
- 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
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 38
- 230000010365 information processing Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 102220053681 rs727503299 Human genes 0.000 description 2
- 210000000941 bile Anatomy 0.000 description 1
- 235000021170 buffet Nutrition 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1054—Address 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
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
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はバッファメモリ制御装置に関する。[Detailed description of the invention] [Industrial application field] The present invention relates to a buffer memory control device.
近年の大型及び中型に類する電子計算機は、仮想記憶方
式とバッファ記憶方式を一膜内忙併用している。仮想記
憶方式はプログラマに実記憶の大きさを意識することな
くコーディングを9能とする方式で、プログラマは実記
憶上の実アドレスではなく仮想記憶上の論理アドレスが
与えられる。Recent large-sized and medium-sized computers use both virtual storage and buffer storage. The virtual memory system is a system that allows programmers to code without being aware of the size of real memory, and the programmer is given logical addresses on virtual memory rather than real addresses on real memory.
一方パッファ記憶方式は大容量ではあるが演算速度に比
較して低速な主記憶とのギャップを補うため中央処理装
置と主記憶の間に高速小容量のバッファ記憶を配して記
憶階層を構成する方式である。On the other hand, in the puffer memory method, a high-speed, small-capacity buffer memory is arranged between the central processing unit and the main memory to form a memory hierarchy in order to compensate for the gap between the main memory, which has a large capacity but is slow compared to the calculation speed. It is a method.
仮想記憶方式では、主記憶参照に先立って、論理アドレ
スを実アドレスに変換する必要がある。In the virtual memory method, it is necessary to convert a logical address into a real address before referencing the main memory.
論理アドレスの実アドレスへの変換はプログラムが゛用
意した主記憶上のアドレス変換テーブルを参照して行な
うが、毎回低速な主記憶を参照していたのではアドレス
変換のオーバヘッドが大きい。そこで−変事記憶を参照
して得た論理アドレスと実アドレスの変換対を記憶して
おくアドレス変換バッファ(以下TLB:Transl
ation Lookaside Buffetと呼ぶ
)を配し、主記憶参照時に該当論理アドレスがThI4
に存在するか否かチエツクし、存在する時(プログラム
の局所性によりこの確率が非常に高い)は高速に実アド
レスを得られるようにしている。Conversion of a logical address into a real address is performed by referring to an address conversion table on the main memory prepared by the program, but if the slow main memory is referred to each time, the overhead of address conversion is large. Therefore, an address translation buffer (hereinafter referred to as TLB: Transl.
tion Lookaside Buffet), and when the main memory is referenced, the corresponding logical address is ThI4.
It checks whether the address exists in the address, and when it does exist (the probability of this is very high due to the locality of the program), the real address can be obtained quickly.
バッファ記憶方式に於ては、バッファ記憶は主記憶の一
部の写しであるため、その対応関係を記憶するためKは
バッファ・アドレス・アレイ(以下BAA : Buf
fer Address Array と呼ぶ)が配
されている。中央処理装置が論理アドレスで主記憶参照
を起動すると、TLBにより変換された実アドレスがB
AAに存在するか否かチエツクされ、存在する時(プロ
グラムの局所性によりこの確率が非常に高い)はバッフ
ァ記憶から高速に該当データが読み出されて中央処理装
置に送られる。In the buffer storage method, since the buffer storage is a copy of a part of the main memory, K is a buffer address array (hereinafter referred to as BAA: Buf) to store the correspondence relationship.
fer Address Array) is arranged. When the central processing unit starts a main memory reference with a logical address, the real address translated by the TLB is
It is checked whether the data exists in the AA, and if it exists (the probability of this is very high due to the locality of the program), the corresponding data is read out from the buffer storage at high speed and sent to the central processing unit.
以上の説明ではTLB 、BAAの参照はシリアルに行
なわれる様に説明したが、処理の高速化の為にはパラレ
ルに参照することが必要である。この場合、論理アドレ
スでBAAが参照される。システムによって、BAAの
カラム索引を論理アドレス内の実アドレス部(ページ内
アドレス)で行なうものと、論理アドレス(ページ内ア
ドレスを含んでいる)で行なうものがある。後者の方式
ではTLBとBAAのカラム索引アドレスピットに重複
がある。In the above explanation, the TLB and BAA are referenced serially, but in order to speed up processing, it is necessary to reference them in parallel. In this case, the BAA is referenced by the logical address. Depending on the system, some systems perform BAA column indexing using the real address part (in-page address) within the logical address, while others perform the BAA column indexing using the logical address (including the in-page address). In the latter method, there is overlap in the column index address pits of the TLB and BAA.
第2図は前記のTLBとBAAをパラレルに参照する方
式のバッファ記憶装置の一例を示すブロック図である。FIG. 2 is a block diagram showing an example of a buffer storage device that references the TLB and BAA in parallel.
中央処理装置で発生するメモリ要求リクエストは論理ア
ドレスをレジスタ91に格納する。A memory request request generated by the central processing unit stores a logical address in register 91.
論理アドレスのページ・アドレスの下位ピットでTLB
92の該当エントリが索引される。本例ではTLB9
2はにカラム×20りから成り、92−1が第10り、
92−2が第20つを示している。つまり、第10つと
第20りにそれぞれに組のエントリがある。TLBの各
ロウ92−1.92−2の各エントリは論理アドレス(
L)部、有効フラグ・ピット部(V)及び実アドレス部
(R)から成る。TLBの論理アドレス部をTLBIA
、実アドレス部をTLBRAと呼ぶ。TLB at the lower pit of the page address of the logical address
92 relevant entries are indexed. In this example, TLB9
2 consists of 20 columns, 92-1 is the 10th column,
92-2 indicates the 20th one. That is, there is a set of entries for each of the 10th and 20th entries. Each entry in each row 92-1, 92-2 of the TLB has a logical address (
L) part, a valid flag/pit part (V), and a real address part (R). TLB logical address part of TLB
, the real address part is called TLBRA.
TLB92の各ロウから読み出されたL部及び7部の内
容は、該当する論理アドレス比較回路94−1.94−
2によってレジスタ91内のページ・アドレスの上位ピ
ットと比較される。The contents of the L section and the 7 section read from each row of the TLB 92 are sent to the corresponding logical address comparison circuit 94-1.94-.
2 is compared with the upper pit of the page address in register 91.
ページ内アドレスの上位ピットでBAAが索引される。The BAA is indexed by the upper pit of the address within the page.
本例ではBAA 93は2カラム×20りから成り、9
3−1と93−2が第10つ、第20りを示している。In this example, BAA 93 consists of 2 columns x 20 columns, 9
3-1 and 93-2 indicate the 10th and 20th.
つまり、各ロウは、それぞれL組のエントリを持ってい
る。BAA93の各エントリは実アドレス部(FL)及
び有効フラグ・ピット部(V)から成る。That is, each row has L sets of entries. Each entry in the BAA 93 consists of a real address field (FL) and a valid flag/pit field (V).
実アドレス比較回路96−1.96−2は、選択回路9
5を通じて入力されるところの’l’、l、、3392
−1のR部から読出される実アドレス(ページ内アドレ
ス)または中央処理装置が直接レジスタ91に格納する
実アドレス(ページ内アドレス)と、対応する8M93
−1 。The real address comparison circuits 96-1 and 96-2 are the selection circuits 9
'l', l, which is input through 5, 3392
The real address (in-page address) read from the R part of -1 or the real address (in-page address) stored directly in the register 91 by the central processing unit and the corresponding 8M93
-1.
93−2のR部から読出される内容とを比較する。選択
回路95は、中央処理装置が直接実アドレスをレジスタ
に格納した場合にレジスタ91の内容を選択し、レジス
タ91に論理アドレスが格納された場合はTLB92−
1の内容を選択する。他方の実アドレス比較回路97−
1.97−2は、TLB 92−2のR部から読出され
る実アドレスと、対応するBAA95−1.93−2の
R部から読出される実アドレスとを比較する。The contents read from the R section of 93-2 are compared. The selection circuit 95 selects the contents of the register 91 when the central processing unit directly stores the real address in the register, and selects the contents of the register 91 when the central processing unit stores the logical address in the register 91.
Select the content of 1. The other real address comparison circuit 97-
1.97-2 compares the real address read from the R section of TLB 92-2 and the real address read from the R section of the corresponding BAA95-1.93-2.
前記各実アドレス比較回路96−1.96−2.97−
1.97−2はそれぞれの2人力が一致するときにその
出力が111′になる。Each of the real address comparison circuits 96-1.96-2.97-
1.97-2 has an output of 111' when the two human forces match.
実アドレス比較回路96−1.96−2.97−1.9
7−2による比較結果はエンコーダ98に入力され、論
理アドレス比較回路94−1.94−2の結果九より選
択された後、エンコードされた出力(本例では1ビツト
)がレジスタ9の上位に格納される。レジスタ99の下
位にはレジスタ91のページ内アドレスが格納される。Real address comparison circuit 96-1.96-2.97-1.9
The comparison result by 7-2 is input to the encoder 98, and after being selected from the result 9 of the logical address comparison circuit 94-1. Stored. The in-page address of the register 91 is stored in the lower part of the register 99.
かくしてレジスタ91に格納された論理アドレスまたは
実アドレスに対応するバッファ記憶アドレスがレジスタ
99に%られる。このレジスタ99のアドレスでバッフ
ァ記憶を索引し読み出したデータは中央処理装置へ転送
される。Thus, the buffer storage address corresponding to the logical address or real address stored in register 91 is stored in register 99. The data read out by indexing the buffer storage using the address of this register 99 is transferred to the central processing unit.
ところで、前記TLBq 2およびBAA92は高速性
と同時にある程度の容量を必要とするため、バイポーラ
・メモリで構成されるのが普通である。かかる用途のバ
イポーラ・メモリの従来例を第3図に示す。By the way, since the TLBq 2 and the BAA 92 require high speed and a certain amount of capacity, they are usually constructed of bipolar memory. A conventional example of a bipolar memory for such use is shown in FIG.
第3図において、入カビンAO〜A2反びん〜As K
印加されるアドレス信号は、それぞれ、Xアドレス・デ
コーダ110及びYアドレス・デコーダ114でデコー
ドされた後ドライバー111及び113を経てメモリ・
セル112を起動する。本例では、メモリ・セル112
は8ピツト×8ピツトから成る64ピツト構成である。In Figure 3, input bins AO to A2 bins to As K
The applied address signals are decoded by an X address decoder 110 and a Y address decoder 114, respectively, and then sent to the memory via drivers 111 and 113.
Activate cell 112. In this example, memory cell 112
has a 64-pit configuration consisting of 8 pits x 8 pits.
メモリ・セル112から選択された1ピツトはセンス・
アンプ115を経て出力回路116に導かれ、出力ビン
′DO(データ・アクト)K読出しデータを出力する。One pit selected from memory cell 112 is sensed.
It is led to an output circuit 116 via an amplifier 115, and outputs read data from an output bin 'DO (data act) K.
WE (ライト・イネーブル)が有効な時にライト・モ
ードとなる。ライトモードでは、入力ビンDI (デー
タ・イン)がゲート117を経てアンド回路118反び
119でWEとアンドがとられ、これらアンド回路11
8,119の出力によって出力にライト1げあるいはラ
イト10&I信号が有効とされ、ドライバー113を経
てアドレスん二んで指定されたメモリ・セル112のピ
ッ)K書き込み指示を行なう。It enters write mode when WE (write enable) is enabled. In the write mode, the input bin DI (data in) passes through the gate 117 and is ANDed with WE by the AND circuit 118 and 119.
The write 1 signal or the write 10&I signal is made valid by the output of 8 and 119, and a write command is issued to the memory cell 112 specified by the address 2 through the driver 113.
前述のTLBまたはBAAとして使用する時は、この種
のバイポーラ・メモリをマトリクス状に配置して所望の
ワード幅、ビット幅を実現している。When used as the aforementioned TLB or BAA, this type of bipolar memory is arranged in a matrix to achieve a desired word width and bit width.
さて、近年電子計算機は超高密度LSIの開発、改良に
よって大規模化、高速化が実現され始め、この傾向は今
後とも推し進められることと思われる。このように、演
算装置等多くの論理装置がLSI化され高速化される一
方、バイポーラ・メモリを含む論理部はバイポーラ・メ
モリへのアドレスの拡散及びバイポーラ・メモリからの
読み出しデータの収束のゲートがその大部分を占めLS
I化しにくくその効果を生かすことが出来ず、゛1子計
算機のマシン・サイクルを制限するクリティカル・バス
になる可能性が大きい。また゛、主記憶の容量も大容量
化する傾向があり、従ってパクファ記憶の容量増加も要
求される。即ち、胆の容量増加が要求される。一方では
バイポーラ・メモリの高集積化も進められて高速のメモ
リも可能になっていゐ。第3図に述べたような構成の従
来のバイポーラ・メモリを用いて大容量のBAAを構成
することは、バイポーラ・メモリのバクケージ・ビン数
が著しく増えてしまい容易に実現できない。Now, in recent years, electronic computers have started to become larger and faster due to the development and improvement of ultra-high-density LSIs, and this trend is expected to continue in the future. In this way, while many logic devices such as arithmetic units are being made into LSIs and becoming faster, logic parts including bipolar memory have a gate that spreads addresses to bipolar memory and converges data read from bipolar memory. LS accounts for the majority of that
It is difficult to convert it into an integrated circuit, so its effects cannot be utilized, and there is a strong possibility that it will become a critical bus that limits the machine cycles of one child computer. Furthermore, there is a tendency for the capacity of the main memory to increase, and therefore there is a need for an increase in the capacity of the backup memory. That is, an increase in bile capacity is required. On the other hand, the integration of bipolar memory is progressing, and high-speed memory is also becoming possible. It is not easy to construct a large capacity BAA using a conventional bipolar memory having the configuration as shown in FIG. 3 because the number of backage bins of the bipolar memory increases significantly.
ちなみに、4にピット・メモリを64ワードで構成する
と64ピツトを収容可能であるが、必要ビン数はアドレ
ス線、データ線共で140ビンにも達してしまい、バイ
ポーラ・メモリのバクケージ・サイズは入出力ビン数で
t611約されてしまう。By the way, if the pit memory is configured with 64 words in 4, it can accommodate 64 pits, but the required number of bins reaches 140 bins for both address lines and data lines, and the back cage size of bipolar memory is The number of output bins is reduced by t611.
特公昭57−57784号公報は、比較回数内蔵形のメ
モリを使ってTLBと願人t−構成する装置を開示して
いる。例えば第2図の点線で囲んだ部分をメモリ・チッ
プ忙内蔵することによりこれを解決しようとしている。Japanese Patent Publication No. 57-57784 discloses a device that uses a memory with a built-in number of comparisons to configure a TLB and an applicant's t-type. For example, attempts are being made to solve this problem by incorporating a memory chip into the area surrounded by the dotted line in FIG.
特公昭57−57784号公報は、TLBから読出され
た実アドレスはTLB t−構成するメモリ・チップか
ら一旦外部へ出た後、BAAを構成するメモリ・チップ
に入力され、BAAから続出された実アドレスと比較さ
れる。このため、TLB 、BAAの入出力に要するビ
ン数、プロパゲージ薦ン・グイレイが増加するという問
題がある。Japanese Patent Publication No. 57-57784 discloses that the real address read from the TLB is output from the memory chip that makes up the TLB, and then input to the memory chip that makes up the BAA. compared to the address. Therefore, there is a problem that the number of bins required for input/output of the TLB and BAA and the propagation capacity increase.
本発明の目的とするところは、前記の如き従来の問題点
を除去し、グロバゲーシ嘗ン・ケイレイの減少及びバク
ケージの入出力ビンの減少を図る記憶制御装置を提供す
ることKある。SUMMARY OF THE INVENTION It is an object of the present invention to provide a storage control device which eliminates the above-mentioned conventional problems and reduces global gaming problems and input/output bins of backup cages.
上記目的は、TLBRAと&すを各カラムの索引論理ア
ドレスでい(つかに分割し、同時に索引される可能性の
あるもの同志を、高速に情報の授受が可能な領域、例え
ば1つのLSIK格納することにより達成される。The purpose of the above is to divide TLBRA and &S into index logical addresses for each column. This is achieved by
本発明では、TLBRAと胆が1つのLSIK内蔵され
るので、プロパゲージ薦ン・デイレ−およびビン数削減
ができると共に、索引論理アドレスによってTLHRA
とBAAが分割されるので、’I’LBRA 。In the present invention, since the TLBRA and the controller are built into one LSIK, propagation delay and the number of bins can be reduced, and the TLHRA is
and BAA are split, so 'I'LBRA.
m人の容量が大きくても、上記グロパゲーシ、ン・デイ
レイとビン数削減が達成される。Even if the capacity of m people is large, the above-mentioned glopage, delay and reduction in the number of bins can be achieved.
−以下本発明の一実施例を第1図により説明する。。 -An embodiment of the present invention will be described below with reference to FIG. .
図において、1〜31の数字はアドレスのビット位置を
示すものであり、破線で四角に囲った内部は、高速に情
報の授受が可能な区域である。例えば1つのLSI内が
これに当たり、以下の説明ではLSI60 、 LSI
70として示す。他の40以上の数字は各構成部品に
付された参照数字である。In the figure, numbers 1 to 31 indicate the bit positions of addresses, and the area surrounded by a square with broken lines is an area where information can be exchanged at high speed. For example, this corresponds to one LSI, and in the following explanation, LSI60, LSI
70. The other numbers above 40 are reference numbers attached to each component.
第1図において、命令フェッチあるいはオペランドフェ
ッチのための論理アドレスは論理アドレス用しジスタレ
山40にセットされる。この論理アドレスは、1〜31
の31ビツトからなる。また、アドレス変換バッファに
登録されているエントリのディレクトリをTLBLA、
実アドレスを格納し℃いるデータ部分をTLJ3RAと
呼ぶ。バクファメモリに保持されたデータの実アドレス
を保持するバッファアドレスアレイをBAAと呼ぶ。バ
クファメモリをBSと呼ぶ。In FIG. 1, the logical address for instruction fetch or operand fetch is set in register pile 40 for logical addresses. This logical address is 1 to 31
It consists of 31 bits. Also, the directory of entries registered in the address translation buffer is TLBLA,
The data portion that stores the real address is called TLJ3RA. A buffer address array that holds real addresses of data held in buffer memory is called BAA. Backup memory is called BS.
IJAR40Kセットされた論理アドレスは、アドレス
変換バッファ、バッファアドレスアレイ、バクファメモ
リをアクセスする。アドレス変換パクフづは20−で、
カラムは論理アドレスのビット12−19で索引される
が、第1図では以下に述べるように異なる実装をしてい
る。バッファアドレスアレイは160−で、カラムは論
理アドレスのビット18−24で索引されるが、笥1図
では以下に述べるように異なる実装をしている。TLB
II(AとBAA f、同じLSI内に格納することに
よって、BSからは40−のデータが読み出されるが、
その中から1つのローのデータの選択が高速に行なえる
。TLBRAとBAA t−総てを1つのLSIに格納
することができないとき、TLBRAとBAAを分割し
て幾つかのLSIに格納する必要がある。本発明の目的
はこの分割方法を示すことにある。The logical address set in IJAR40K accesses the address translation buffer, buffer address array, and buffer memory. The address conversion package is 20-,
The columns are indexed by bits 12-19 of the logical address, but are implemented differently in FIG. 1 as described below. The buffer address array is 160-, with columns indexed by bits 18-24 of the logical address, but is implemented differently in Figure 1, as described below. T.L.B.
II (By storing A and BAA f in the same LSI, 40- data is read from the BS, but
One row of data can be selected from among them at high speed. When TLBRA and BAA cannot all be stored in one LSI, it is necessary to divide TLBRA and BAA and store them in several LSIs. The purpose of the invention is to demonstrate this method of division.
TLBRAとBAAのカラム索引論理アドレスはピッ)
18.19が共通であり、この2ピツトが異なるTL
BRAとBAAのカラム同志は同時に索引されることは
ないから、4グループまでTLBRAとBAAの組み合
せを分割できる。第1図では、カラム索引論理アドレス
ビット19が10“と1げでTLBI(A 、 BAA
を2つに分割し、該ビット19が10″′で索引される
’I’LI3RA、BAA O部分をLSI 60 K
、 該ピクトが′げで索引されるTLBRA 、BA
Aの部分をLSI70に格納している。TLBRA 6
1.71は論理アドレスビット12−18で索引され、
BAA 62.72は論理アドレスビット18゜20
−24で索引される。読み出された実アドレスを比較器
65 、75で比較し、一致したロ一番号をエンコーダ
64a64b、74a、74bでコード化する。TLB
LIA51は論理アドレスピッ) 12−19で索引さ
れる。読み出された論理アドレスビット1−10とLA
R40Kセットされている論理アドレスピッ1−11を
比較器52で比較して一致したロ一番号をエンコーダ5
3でコード化する。エンコーダ64a、64b、74α
、74bの出力は、セレクタ80でし!、R40Kセッ
トされた論理アドレスビット19と、エンコータ゛53
の出力の組み合わせにより1つが選択される。該ビット
19がg o M。The column index logical addresses of TLBRA and BAA are
TLs where 18.19 are common and these two pits are different
Since the BRA and BAA columns are never indexed at the same time, the combination of TLBRA and BAA can be divided into up to four groups. In FIG. 1, column index logical address bit 19 is 10" and TLBI(A, BAA
Divide into two parts and convert the 'I'LI3RA, BAA O part where bit 19 is indexed by 10'' to LSI 60K
, TLBRA, BA where the pictogram is indexed by
Part A is stored in the LSI 70. TLBRA 6
1.71 is indexed by logical address bits 12-18,
BAA 62.72 is logical address bit 18°20
-24. The read real addresses are compared by comparators 65 and 75, and the matched row numbers are encoded by encoders 64a64b, 74a, and 74b. T.L.B.
LIA 51 is indexed by logical address pins 12-19. Read logical address bits 1-10 and LA
The logical address pins 1-11 set in R40K are compared by the comparator 52, and the matching number is sent to the encoder 5.
Code with 3. Encoders 64a, 64b, 74α
, 74b is output by selector 80! , R40K set logical address bit 19 and encoder 53
One is selected based on the combination of outputs. The bit 19 is go M.
時は、エンコーダ744.74bの出力は無効である。At this time, the output of encoder 744.74b is invalid.
逆に該ビット19が1−の時は、エンコータ゛64α、
64bの出力は無効である。エンコーダ53の出力する
TLBLAの一致信号がロー0を示している時は、エン
コーダ64b、74bの出力は無効である。逆に該一致
信号がロー1を示している時は、エンコーダ64eL。Conversely, when bit 19 is 1-, encoder 64α,
The output of 64b is invalid. When the TLBLA match signal output from encoder 53 indicates low 0, the outputs from encoders 64b and 74b are invalid. Conversely, when the coincidence signal indicates low 1, the encoder 64eL.
744の出力は無効である。セレクタ80で選択された
RAAの一致信号はB582の出力の40−のうち10
−をセレクタ82で選択し、8バイトのデータが出力さ
れる。The output of 744 is invalid. The match signal of the RAA selected by the selector 80 is 10 out of 40- of the outputs of B582.
- is selected by the selector 82, and 8 bytes of data is output.
第1図は命令あるいはオペランドフェッチのバッファメ
モリ制御装置である。オペランドストアの際にもB58
1の40−のうちどのローに誓キ込むかの判定回路は同
様な考え方で構成される。また、TI、Bに旬日40に
セットされた論理アドレスが登録されていない時は、周
知の手段によって論理アドレスに対応する実アドレスを
求めた後、実アドレスレジスタ41(以下、RARと略
称)Kセットし、リプレースするローを例えばLRUア
ルゴリズムなどで決定した後、TLBLAには、論理ア
ドレスビット12−19で指定されたカラムの該ローに
論理アドレスピクト1−11を格納し、TLBRAは、
論理アドレスビット19が10″′ならTLB)tA6
1 K 、該ビットが′1′′ならTLBRA71 i
C論理アドレスピット12−18で指定されたカラムの
該ローに1鍾41にセットされ、た実アドレスピッ)1
−19を格納する。FIG. 1 shows a buffer memory control device for instruction or operand fetch. B58 also during operand store
A circuit for determining which row of 40-1 to enter is constructed based on a similar concept. In addition, when the logical address set to the date 40 is not registered in TI, B, after obtaining the real address corresponding to the logical address by well-known means, the real address register 41 (hereinafter abbreviated as RAR) After setting K and determining the row to be replaced using, for example, an LRU algorithm, the TLBLA stores the logical address pictographs 1-11 in the rows of the columns specified by the logical address bits 12-19, and the TLBRA:
If logical address bit 19 is 10'', TLB) tA6
1 K, if the bit is '1'', TLBRA71 i
C logical address pits 12-18 are set in the corresponding row of the column specified by the actual address pits 41 and 1).
-19 is stored.
また、BAA K LAR40yセットされた論理アド
レスで指定されたブロックが登録されていない時は、該
論理アドレスをTLBを用いて実アドレスに変換したも
のをRAR+41にセットし、リプレースするローを例
えばLRIJアルゴリズムなどで決定した後、論理アド
レスピット19が10“ならBAA62 K 、 ’1
“ならBAA72に、論理アドレスピット18.20−
24で指定されたカラムのローに、RAR41Kセット
された実アドレスピット1−19を格納する。またBs
B1にはLAR40Kセットされた論理アドレスで指定
されたブロックが転送・格納される。In addition, when the block specified by the logical address set in BAA K LAR40y is not registered, the logical address is converted to a real address using TLB and set in RAR+41, and the row to be replaced is set using the LRIJ algorithm, for example. etc., if the logical address pit 19 is 10", then BAA62 K, '1
“Then, in BAA72, logical address pit 18.20-
The real address pits 1-19 set in RAR41K are stored in the row of the column designated by 24. Also Bs
A block specified by the logical address set in LAR40K is transferred and stored in B1.
本発明によれば、与えられた論理アドレスに対応するデ
ータをバッファメモリより高速に読み出し、書き込みを
行なうことができる。According to the present invention, data corresponding to a given logical address can be read from and written to a buffer memory at high speed.
第1図は本発明の一実施例を示すバッファメモリ制御装
置のブロック図、第2図は従来例を示すブロック図、第
3図はバイポーラメモリの構成を示すブロック図である
。。
40・・・フェッチ用論理アドレスレジスタ(LAR)
、51・・・アドレス変換バクファディレクトリ(TL
BLA )、 61.71・・・アドレス変換バッフ
ァデータ部(TLBRA)、62 、72・・・バッフ
ァアドレスアレイ(BAA)、60.70・・・高速で
情報の授受可能な領域、81・・・バッファメモリ(B
S)、91・・・アドレスレジスタ、92・・・アドレ
ス変換バッファ、93・・・バッファアドレスアレイ。FIG. 1 is a block diagram of a buffer memory control device showing an embodiment of the present invention, FIG. 2 is a block diagram showing a conventional example, and FIG. 3 is a block diagram showing the configuration of a bipolar memory. . 40: Fetch logical address register (LAR)
, 51...Address translation buffer directory (TL
BLA), 61.71... Address translation buffer data section (TLBRA), 62, 72... Buffer address array (BAA), 60.70... Area where information can be exchanged at high speed, 81... Buffer memory (B
S), 91...address register, 92...address translation buffer, 93...buffer address array.
Claims (1)
ッファメモリと、該バッファメモリに格納されるブロッ
クのそれぞれの実アドレスを蓄えているバッファアドレ
スアレイと、読出要求及び書込要求が論理アドレスで行
なわれた時に該論理アドレスを実アドレスに変換するア
ドレス変換機構とを有する情報処理装置において、前記
アクセス要求の論理アドレスを前記アドレス変換機構を
用いて変換した実アドレスと前記バッファアドレスアレ
イに格納されている実アドレスとの一致の検出を高速に
行なうために、前記アドレス変換機構と前記バッファア
ドレスアレイを、各カラムの索引論理アドレスで複数の
組に分割し、各組を同時に索引される可能性のあるアド
レス変換機構の少なくともその実アドレス格納部とバッ
ファアドレスアレイと実アドレス比較回路とを高速に情
報授受可能な領域に格納することを特徴とするバッファ
メモリ制御装置。1. A buffer memory that stores part of the information stored in the main memory, a buffer address array that stores the real addresses of each block stored in the buffer memory, and a read request and a write request that are logically In an information processing device having an address translation mechanism that converts a logical address into a real address when an address is issued, the logical address of the access request is converted into a real address converted using the address translation mechanism and the buffer address array. In order to quickly detect a match with a stored real address, the address translation mechanism and the buffer address array are divided into a plurality of sets by the index logical address of each column, and each set is simultaneously indexed. A buffer memory control device characterized in that at least a real address storage section, a buffer address array, and a real address comparison circuit of a possible address translation mechanism are stored in an area where information can be exchanged at high speed.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62251472A JPH07120312B2 (en) | 1987-10-07 | 1987-10-07 | Buffer memory controller |
US07/252,686 US5050126A (en) | 1987-10-07 | 1988-10-03 | Buffer memory control apparatus |
CA000579106A CA1310135C (en) | 1987-10-07 | 1988-10-03 | Buffer memory control apparatus |
EP88116446A EP0311034B1 (en) | 1987-10-07 | 1988-10-05 | Cache memory control apparatus for a virtual memory data-processing system |
DE3888438T DE3888438T2 (en) | 1987-10-07 | 1988-10-05 | Cache control device for a data processing device with virtual memory. |
KR1019880013086A KR910005510B1 (en) | 1987-10-07 | 1988-10-07 | Butter memory control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62251472A JPH07120312B2 (en) | 1987-10-07 | 1987-10-07 | Buffer memory controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0194459A true JPH0194459A (en) | 1989-04-13 |
JPH07120312B2 JPH07120312B2 (en) | 1995-12-20 |
Family
ID=17223321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62251472A Expired - Lifetime JPH07120312B2 (en) | 1987-10-07 | 1987-10-07 | Buffer memory controller |
Country Status (6)
Country | Link |
---|---|
US (1) | US5050126A (en) |
EP (1) | EP0311034B1 (en) |
JP (1) | JPH07120312B2 (en) |
KR (1) | KR910005510B1 (en) |
CA (1) | CA1310135C (en) |
DE (1) | DE3888438T2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0371247A (en) * | 1989-08-10 | 1991-03-27 | Hitachi Ltd | Buffer storage controller |
US5131583A (en) * | 1989-08-17 | 1992-07-21 | Takeshi Matsumoto | Method of manufacturing high pressure fluid supply pipe |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6336180B1 (en) | 1997-04-30 | 2002-01-01 | Canon Kabushiki Kaisha | Method, apparatus and system for managing virtual memory with virtual-physical mapping |
JPH035851A (en) * | 1989-06-01 | 1991-01-11 | Fujitsu Ltd | Buffer storage device |
US5077826A (en) * | 1989-08-09 | 1991-12-31 | International Business Machines Corporation | Cache performance in an information handling system employing page searching |
US5412611A (en) * | 1992-03-17 | 1995-05-02 | Fujitsu, Limited | FIFO memory device capable of writing contiguous data into rows |
US5588128A (en) * | 1993-04-02 | 1996-12-24 | Vlsi Technology, Inc. | Dynamic direction look ahead read buffer |
AUPO648397A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Improvements in multiprocessor architecture operation |
US6311258B1 (en) | 1997-04-03 | 2001-10-30 | Canon Kabushiki Kaisha | Data buffer apparatus and method for storing graphical data using data encoders and decoders |
US6055204A (en) * | 1997-04-29 | 2000-04-25 | Texas Instruments Incorporated | Circuits, systems, and methods for re-mapping memory column redundancy |
US6061749A (en) | 1997-04-30 | 2000-05-09 | Canon Kabushiki Kaisha | Transformation of a first dataword received from a FIFO into an input register and subsequent dataword from the FIFO into a normalized output dataword |
AUPO647997A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Memory controller architecture |
US6349379B2 (en) | 1997-04-30 | 2002-02-19 | Canon Kabushiki Kaisha | System for executing instructions having flag for indicating direct or indirect specification of a length of operand data |
US6707463B1 (en) | 1997-04-30 | 2004-03-16 | Canon Kabushiki Kaisha | Data normalization technique |
US6122837A (en) * | 1997-06-25 | 2000-09-26 | Verteq, Inc. | Centrifugal wafer processor and method |
KR100328726B1 (en) * | 1999-04-29 | 2002-03-20 | 한탁돈 | Memory access system and method thereof |
JP3881869B2 (en) * | 2001-11-05 | 2007-02-14 | 株式会社ルネサステクノロジ | Semiconductor memory device |
JP2015176309A (en) * | 2014-03-14 | 2015-10-05 | 株式会社東芝 | semiconductor memory device |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3829840A (en) * | 1972-07-24 | 1974-08-13 | Ibm | Virtual memory system |
US4218743A (en) * | 1978-07-17 | 1980-08-19 | International Business Machines Corporation | Address translation apparatus |
US4332010A (en) * | 1980-03-17 | 1982-05-25 | International Business Machines Corporation | Cache synonym detection and handling mechanism |
JPS5928289A (en) * | 1982-08-09 | 1984-02-14 | Hitachi Ltd | Buffer storage controlling system |
WO1984002784A1 (en) * | 1982-12-30 | 1984-07-19 | Ibm | Virtual memory address translation mechanism with controlled data persistence |
US4577293A (en) * | 1984-06-01 | 1986-03-18 | International Business Machines Corporation | Distributed, on-chip cache |
JPS62118457A (en) * | 1985-11-19 | 1987-05-29 | Hitachi Ltd | Buffer memory control system |
JPH0661066B2 (en) * | 1986-10-20 | 1994-08-10 | 株式会社日立製作所 | Storage controller |
-
1987
- 1987-10-07 JP JP62251472A patent/JPH07120312B2/en not_active Expired - Lifetime
-
1988
- 1988-10-03 CA CA000579106A patent/CA1310135C/en not_active Expired - Lifetime
- 1988-10-03 US US07/252,686 patent/US5050126A/en not_active Expired - Fee Related
- 1988-10-05 EP EP88116446A patent/EP0311034B1/en not_active Expired - Lifetime
- 1988-10-05 DE DE3888438T patent/DE3888438T2/en not_active Expired - Fee Related
- 1988-10-07 KR KR1019880013086A patent/KR910005510B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0371247A (en) * | 1989-08-10 | 1991-03-27 | Hitachi Ltd | Buffer storage controller |
US5131583A (en) * | 1989-08-17 | 1992-07-21 | Takeshi Matsumoto | Method of manufacturing high pressure fluid supply pipe |
Also Published As
Publication number | Publication date |
---|---|
DE3888438D1 (en) | 1994-04-21 |
EP0311034A2 (en) | 1989-04-12 |
JPH07120312B2 (en) | 1995-12-20 |
CA1310135C (en) | 1992-11-10 |
KR910005510B1 (en) | 1991-07-31 |
EP0311034A3 (en) | 1990-07-04 |
EP0311034B1 (en) | 1994-03-16 |
KR890007169A (en) | 1989-06-19 |
DE3888438T2 (en) | 1994-09-01 |
US5050126A (en) | 1991-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0194459A (en) | Buffer memory controller | |
US4386402A (en) | Computer with dual vat buffers for accessing a common memory shared by a cache and a processor interrupt stack | |
US6901501B2 (en) | Data processor | |
EP0855057B1 (en) | Address transformation in a cluster computer system | |
JPS589277A (en) | Data processor | |
US4513369A (en) | Information processing system | |
JPS63101944A (en) | Memory controller | |
JPH0529945B2 (en) | ||
JP2930071B2 (en) | Information processing device and processor | |
JPS62202247A (en) | Cache memory contents coincidence processing system | |
JPH0438014B2 (en) | ||
JPH0227696B2 (en) | JOHOSHORISOCHI | |
JP2507721B2 (en) | Buffer memory device | |
JPH0371247A (en) | Buffer storage controller | |
JP2976443B2 (en) | Information processing device that exchanges data via system bus | |
JPS6022777B2 (en) | Data transfer method | |
JPH0211931B2 (en) | ||
JPS59218692A (en) | Control system of logical buffer memory | |
JPS58150186A (en) | System for controlling buffer memory | |
JPS5963084A (en) | Memory control device | |
JPS5987684A (en) | Electronic computer having swap system buffer storage | |
JPH0547856B2 (en) | ||
JPH0313616B2 (en) | ||
JPH0775017B2 (en) | Memory access method | |
JPS6265151A (en) | Memory control system |