JPS63245745A - Buffer storage controller - Google Patents

Buffer storage controller

Info

Publication number
JPS63245745A
JPS63245745A JP62077440A JP7744087A JPS63245745A JP S63245745 A JPS63245745 A JP S63245745A JP 62077440 A JP62077440 A JP 62077440A JP 7744087 A JP7744087 A JP 7744087A JP S63245745 A JPS63245745 A JP S63245745A
Authority
JP
Japan
Prior art keywords
data
buffer storage
storage device
block
buffer
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.)
Pending
Application number
JP62077440A
Other languages
Japanese (ja)
Inventor
Yasuo Watabe
康雄 渡部
Kazuo Hibi
一夫 日比
Yoji Hashimoto
洋二 橋本
Nobuyuki Shimura
志村 伸之
Kazuhiro Ishitani
石谷 和弘
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering Ltd
Hitachi Computer Engineering 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 Hitachi Ltd, Hitachi Microcomputer Engineering Ltd, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP62077440A priority Critical patent/JPS63245745A/en
Publication of JPS63245745A publication Critical patent/JPS63245745A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0886Variable-length word access

Abstract

PURPOSE:To speed up data reading by transferring the data of one block data with a fixed width following the one-block data to a buffer storage device. CONSTITUTION:In case of storing data in a buffer storage, data for one block (6 bytes) and following 8 bytes are transferred from a main storage device to store the data of 72 bytes continued in the main storage in the buffer storage. When the data in the main storage device are transferred to the buffer storage, the data are stored in data parts 107-109 of the buffer storage. When data corresponding to an address applied to an address register 101 exist in the buffer storage, the leading data are read out from the buffer storage data part 108 and the leading data in the succeeding block are simultaneously read out from the data part 109.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はバッファ記憶制御装置に係り、特にバッファ記
憶装置上のブロック間にまたがるデータを1回のアクセ
スによって読み出すに好適なバッファ記憶制御装置に関
する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a buffer storage control device, and more particularly to a buffer storage control device suitable for reading data spanning blocks on a buffer storage device in a single access. .

〔従来の技術〕[Conventional technology]

バッファ記憶装置は、一般に主記憶装置上のデータを1
ブロック単位に保持し、前記バッファ記憶装置からの読
み出しにおいては、1ブロック以下の一定容量のデータ
幅であり、1回のバッファ記憶装置のアクセスにおいて
は特定の1ブロックしかアクセス出来なかった。
A buffer storage device generally stores data on main memory in one
Data is held in block units, and when read from the buffer storage device, the data width is a fixed capacity of one block or less, and only one specific block can be accessed in one access to the buffer storage device.

一般に情報処理装置が、必要とするデータにはブロック
間をまたぐデータも少なくない。
Generally, an information processing device requires a large amount of data that straddles blocks.

よって前記のようなバッファ記憶装置では、2回のバッ
ファ記憶装置のアクセスが必要であったこの解決策とし
ては、例えば特開昭54−8937号に記載のように、
バッファ記憶を2分割し主記憶のブロックを単位として
2つのバッファ記憶に交互に割り付けることにより、ブ
ロック間をまたぐデータを1回のアクセスにより読み出
すことを可能とした。また、特開昭55−20826号
に記載のように、次ブロックのデータがバッファ記憶に
格納されているかを管理する次ブロック管理部を設ける
ことにより1回のバッファ記憶のアクセスでブロック間
をまたぐデータ読み出すことを可能とした。
Therefore, in the above-mentioned buffer storage device, it is necessary to access the buffer storage device twice.As a solution to this problem, for example, as described in Japanese Patent Application Laid-Open No. 54-8937,
By dividing the buffer memory into two and alternately allocating blocks in the main memory to the two buffer memories, it is possible to read data that spans between blocks in one access. Furthermore, as described in Japanese Patent Laid-Open No. 55-20826, by providing a next block management unit that manages whether the data of the next block is stored in the buffer memory, it is possible to cross blocks with one access to the buffer memory. It is now possible to read data.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上記従来妓術は、次ブロックがバッファ記憶装置に無け
れば主記憶装置からのデータ転送が必要となり、データ
が揃うまでに多大な時間を必要とする問題があった。
The conventional technique described above has a problem in that if the next block is not in the buffer storage device, data must be transferred from the main storage device, and it takes a long time to complete the data.

本発明の目的は、次ブロックのデータが必らずバッファ
記憶装置に存在させ、ブロックをまたぐデータの読み出
しを1回のバッファ記憶装置のアクセスにより行なうこ
とにある。
An object of the present invention is to ensure that the data of the next block exists in the buffer storage device, and to read out data spanning blocks by accessing the buffer storage device once.

〔問題点を解決するための手段〕[Means for solving problems]

上自己目的は、主記憶装置からバッファ記憶装置へのデ
ータ転送において、1ブロックのデータとそれに続く一
定幅(バク7ア記憶から演算ユニットなどへ転送するバ
イト幅)のデータをバッファ記憶装置に転送し、バッフ
ァ記憶装置においてはブロック外の一定幅の小容量のバ
ッファ記憶装置を具備することにより達成される。
The purpose of the above is to transfer one block of data and the following fixed width data (the byte width transferred from backup storage to an arithmetic unit, etc.) to the buffer storage when transferring data from the main storage to the buffer storage. However, in the buffer storage device, this can be achieved by providing a small capacity buffer storage device with a constant width outside the block.

〔作用〕[Effect]

□ 本発明は、バッファ記憶上のブロックをまたぐデー
タ読み出しに8いてブロックをまたぐデータ読み出しを
検出しその検出情報により上記ブロック外のバッファ記
憶よりデータを読み出すことにより一回のバッファ記憶
のアクセスによりデータを揃えることが出来る。
□ The present invention detects data reading that spans blocks on a buffer memory, and uses the detection information to read data from the buffer memory outside the block, thereby reading data by one access to the buffer memory. can be arranged.

〔実施例〕〔Example〕

以下、本発明の一実施例な第1図により説明する。 The present invention will be explained below with reference to FIG. 1, which is an embodiment of the present invention.

第1図はバッファ記憶制御装置の本発明に関連する部分
の一実施例を示す。第1図において、アドレスレジスタ
1o1.バッファ記憶を構成するアドレスアレイ部1o
5.バッファ記憶を構成す、 6 。
FIG. 1 shows an embodiment of a portion of a buffer storage controller that is relevant to the present invention. In FIG. 1, address register 1o1. Address array section 1o configuring buffer storage
5. Configure buffer storage, 6.

るデータ部107.108および+09、比較器110
、データセレクト回路112、リードデータレジスタ1
13および114、シフト回路115゜データレジスタ
116を表わしている。
data sections 107, 108 and +09, comparator 110
, data select circuit 112, read data register 1
13 and 114, a shift circuit 115 and a data register 116 are shown.

この例ではバッファ記憶の読み出しデータ幅は8バイト
、1ブロックは64バイトである。バッファ記憶のデー
タ部+07および10Bは、バッファ記憶を2分したも
ので8バイト単位に連続して割当てである。バッファ記
憶のデータ部109は、データ幅は8バイトバツフア記
憶の1ブロックに1つの割合いで存在する。この関係を
示したのが第2図であり、バッファ記憶としては主記憶
の連続するデータを9個(72バイト)格納することを
可能としている。
In this example, the read data width of the buffer storage is 8 bytes, and one block is 64 bytes. Data portions +07 and 10B of the buffer storage are divided into two parts of the buffer storage, and are consecutively allocated in units of 8 bytes. The data section 109 of the buffer storage has a data width of 8 bytes, and exists at a rate of one per block of buffer storage. This relationship is shown in FIG. 2, and the buffer storage is capable of storing nine consecutive pieces of data (72 bytes) in the main memory.

第1図にもどり通常のバッファ記憶のアクセスについて
説明する。アドレスレジスタ101に与えられたアドレ
スのビット20〜25により、バッファ記憶のアドレス
アレイ105がアクセスされ格納されているアドレス清
報が比較器++0に供給される。一方、アドレスレジス
タ+0+のピ・ 4 ・ フト20〜25にビット26〜28の3ピント乞加算器
104でプラス1した上位の2ビツト(ビット26〜2
7)を付加したビット2o〜27でバッファ記憶のデー
タ部+07をアクセスしデータを読み出す。また、アド
レスレジスタ101のピッ)20〜27でバッファ記憶
のデータ部10Bをアクセスしデータを読み出す。これ
によりバッファ記憶データ51o7と1081Cより1
6バイトのデータが1回のアクセスにより読み出され任
意の8バイトのデータが、シフト回路115により揃え
られデータがデータレジスタ116にセットされる。
Returning to FIG. 1, normal buffer storage access will be explained. Bits 20-25 of the address applied to address register 101 access buffer storage address array 105 and supply the stored address information to comparator ++0. On the other hand, the upper two bits (bits 26 to 2) are added by adding 1 to the pins 20 to 25 of the address register +0+ by the 3-pin adder 104 of bits 26 to 28.
7) is added to bits 2o to 27 to access the data section +07 of the buffer storage and read the data. Further, the data portion 10B of the buffer storage is accessed using pins 20 to 27 of the address register 101 to read data. As a result, 1 from the buffer storage data 51o7 and 1081C
Six bytes of data are read in one access, arbitrary eight bytes of data are aligned by the shift circuit 115, and the data is set in the data register 116.

比較器110は、アドレスレジスタ101に与えられた
アドレスに対するデータがバッファ記憶に存在するかを
判定するもので、格納されているアドレスが有効かどう
かを表わすVピッ)(V=0:無効、V=1;有効)と
格納されているアドレスと与えられたアドレスの比較を
行ない一致。
The comparator 110 determines whether data corresponding to the address given to the address register 101 exists in the buffer memory, and the comparator 110 determines whether data corresponding to the address given to the address register 101 exists in the buffer memory. = 1; Valid), the stored address and the given address are compared and match.

不一致の判定を行なう。Determine inconsistency.

一致と判定されればバク7ア記憶にデータが存−在する
ことによりバッファ記憶のデータ部107゜108から
読み出されたデータが有効となる。しかし、比較器11
0の判定で不一致となると与えられたアドレスのデータ
がバッファ記憶に存在しないことになり、主記憶装置に
対して所定のデータ転送要求が発行される。(図示せず
)上記のバッファ記憶のアクセスでは、バッファ記憶の
1ブロック内のデータであれば、常に必要とする最大の
8バイトのデータが得られる。しかし、必要とするデー
タが第3図のようにブロック境界をまたぐようなときは
、−回のバッファ記憶のアクセスではデータが得られな
い。
If it is determined that they match, the data read from the data portions 107 and 108 of the buffer storage becomes valid because the data exists in the buffer storage. However, comparator 11
If the determination of 0 indicates a mismatch, it means that the data at the given address does not exist in the buffer storage, and a predetermined data transfer request is issued to the main memory. (Not shown) In the above buffer storage access, the maximum required 8-byte data is always obtained as long as the data is within one block of the buffer storage. However, when the required data straddles block boundaries as shown in FIG. 3, the data cannot be obtained by accessing the buffer memory - times.

本発明では、バッファ記憶の1−ブロックに1つの割で
読み出しデータ幅のサイズのバッファ記憶のデータ部1
09を持つことによりブロックをまたぐデータでも1回
のアクセスで必要なデータを得ることが出来る。
In the present invention, the data portion 1 of the buffer storage has the size of the read data width, which is 1-block of the buffer storage.
By having 09, necessary data can be obtained in one access even if the data spans blocks.

バッファ記憶にデータを格納するとき主記憶装置より1
ブロック(64バイト)とそれに続(8バイトのデータ
転送を行なうことにより、主記憶上の連続した72バイ
トのデータをバッファ記憶に格納する。
1 from main memory when storing data in buffer memory
By transferring a block (64 bytes) and subsequent data (8 bytes), 72 consecutive bytes of data on the main memory are stored in the buffer memory.

仮に主記憶装置に第3図のようなデータがありそのデー
タをバッファ記憶に転送したとすると、第2図のように
データがバッファ記憶のデータ部107.108と10
9に格納される。
Suppose that there is data in the main memory as shown in Figure 3 and the data is transferred to the buffer memory, the data is transferred to the data sections 107, 108 and 10 of the buffer memory as shown in Figure 2.
It is stored in 9.

アドレスレジスタ101に与えられたアドレスが第3図
に1必要とするデータ”と示すようなアドレスとすると
、バッファ記憶上にデータが存在した場合、先頭のデー
タは第1図のバッファ記憶データ部108より読み出さ
れ、同時に次のブロックの先頭のデータがバッファ記憶
データ部109より読み出される。ここでアドレスレジ
スタ101のビット26〜28がブロック境界のアドレ
スかを判定するブロッククロス判定回路117に供給さ
れその判定出力がデータセレクト回路112に供給され
る。ブロッククロス判定回路117の判定でブロックの
次のデータが必要(ピクト26−5−28がすべて11
′のとき)とされるとセレクト回路112によりバッフ
ァ記憶データ109が選・ 7 ・ ばれリードデータレジスタ113にセットされシフト回
路115によりデータが揃えられ、ブロックをまたいだ
データがデータレジスタ116ヘセツトされる。
Assuming that the address given to the address register 101 is as shown in FIG. 3 as "1 data required", if data exists on the buffer storage, the first data is stored in the buffer storage data section 108 in FIG. At the same time, the first data of the next block is read from the buffer storage data section 109. Here, the data is supplied to a block cross determination circuit 117 that determines whether bits 26 to 28 of the address register 101 are addresses at block boundaries. The judgment output is supplied to the data select circuit 112. The block cross judgment circuit 117 judges that the next data of the block is necessary (all pictographs 26-5-28 are 11
), the buffer storage data 109 is selected by the select circuit 112 and set in the read data register 113, the data is aligned by the shift circuit 115, and the data across blocks is set in the data register 116. .

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

本発明によれば、バッファ記憶上のブロックをまたぐデ
ータの読み出しにおいても一回のバッファ記憶のアクセ
スによりデータを得ることができるので、データ読み出
しの高速化が達成される。
According to the present invention, even when reading data across blocks on the buffer storage, the data can be obtained by accessing the buffer storage once, so that high-speed data reading can be achieved.

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

第1図は本発明の一実施例のブロック図、第2図は本発
明のバッファ記憶のデータの概念図。第3図はブロック
境界を示す説明図である。 101・・・アドレスレジスタ、105・・・バッファ
記憶アドレスアレイ、107〜109・・・バッファ記
憶データ部、110・・・比較器、112・・・セレク
ト回路、117・・・ブロッククロス判定回路、115
 、・、シフト回路。 第 1 図 ffH 第2図 nR 第 3 図 ヌじ(とするデづ“
FIG. 1 is a block diagram of an embodiment of the present invention, and FIG. 2 is a conceptual diagram of data stored in a buffer according to the present invention. FIG. 3 is an explanatory diagram showing block boundaries. 101... Address register, 105... Buffer storage address array, 107-109... Buffer storage data section, 110... Comparator, 112... Select circuit, 117... Block cross determination circuit, 115
,・,shift circuit. Figure 1 ffH Figure 2 nR Figure 3

Claims (1)

【特許請求の範囲】[Claims] 1、主記憶装置のデータをブロック単位に格納するデー
タ部と前記データの主記憶装置上のアドレス情報を格納
するアドレスアレイ部を具備するバッファ記憶装置と、
前記バッファ記憶装置より読み出したデータを先頭バイ
トの位置に合わせるべくシフト回路とを備うるバッファ
記憶制御装置において、バッファ記憶装置上の1ブロッ
クのデータに連続する主記憶装置上のデータを格納する
小容量のバッファ記憶とバッファ記憶装置から読み出す
データがバッファ記憶装置のブロックをまたぐかどうか
を検出する回路とバッファ記憶装置から読み出したデー
タをセレクトする回路を設けることにより、バッファ記
憶装置上のブロックをまたぐデータにおいても1回のバ
ッファ記憶装置のアクセスによりデータを得ることを特
徴とするバッファ記憶制御装置。
1. A buffer storage device comprising a data section for storing data in a main memory device in units of blocks and an address array section for storing address information on the main memory device for the data;
In a buffer storage control device comprising a shift circuit for aligning data read from the buffer storage device to the position of the first byte, By providing capacity buffer storage, a circuit for detecting whether data read from the buffer storage device crosses blocks of the buffer storage device, and a circuit for selecting data read from the buffer storage device, it is possible to cross blocks on the buffer storage device. A buffer storage control device characterized in that data can be obtained by accessing the buffer storage device once.
JP62077440A 1987-04-01 1987-04-01 Buffer storage controller Pending JPS63245745A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62077440A JPS63245745A (en) 1987-04-01 1987-04-01 Buffer storage controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62077440A JPS63245745A (en) 1987-04-01 1987-04-01 Buffer storage controller

Publications (1)

Publication Number Publication Date
JPS63245745A true JPS63245745A (en) 1988-10-12

Family

ID=13634085

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62077440A Pending JPS63245745A (en) 1987-04-01 1987-04-01 Buffer storage controller

Country Status (1)

Country Link
JP (1) JPS63245745A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009535743A (en) * 2006-05-01 2009-10-01 クゥアルコム・インコーポレイテッド Method and apparatus for caching variable length instructions
JP2011503719A (en) * 2007-11-02 2011-01-27 クゥアルコム・インコーポレイテッド Predecode repair cache for instructions that span instruction cache lines

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009535743A (en) * 2006-05-01 2009-10-01 クゥアルコム・インコーポレイテッド Method and apparatus for caching variable length instructions
JP2011503719A (en) * 2007-11-02 2011-01-27 クゥアルコム・インコーポレイテッド Predecode repair cache for instructions that span instruction cache lines
JP2014044731A (en) * 2007-11-02 2014-03-13 Qualcomm Incorporated Predecode repair cache for instructions that cross instruction cache line
US8898437B2 (en) 2007-11-02 2014-11-25 Qualcomm Incorporated Predecode repair cache for instructions that cross an instruction cache line

Similar Documents

Publication Publication Date Title
US5357473A (en) Semiconductor storage system including defective bit replacement
US4914575A (en) System for transferring data between an interleaved main memory and an I/O device at high speed
US4691280A (en) High performance multi-processor system
US5146572A (en) Multiple data format interface
EP0057096A2 (en) Information processing unit
GB2130407A (en) Integrated sorting device for data words
JPS63245745A (en) Buffer storage controller
JPS6216294A (en) Memory device
EP0067519B1 (en) Telecommunications system
JPH01125644A (en) Data transfer equipment
EP0114839B1 (en) A high performance multi-processor system
JP3190847B2 (en) Data transfer control device
JPS6226055B2 (en)
JPH0140432B2 (en)
JPS59133623A (en) Storage system of bus information log
JP2568443B2 (en) Data sizing circuit
JP2841432B2 (en) Data transfer device
JPS62276663A (en) Program transfer method
JPS6014435B2 (en) Storage device
JPH0133848B2 (en)
JPS6319855Y2 (en)
JPH01177661A (en) Data transferring device
JPS59144963A (en) Storage control device
JPS61100855A (en) Data buffer
JPS62226366A (en) Shared memory system