JPH09319657A - Processor provided with buffer for reading instruction - Google Patents

Processor provided with buffer for reading instruction

Info

Publication number
JPH09319657A
JPH09319657A JP8138004A JP13800496A JPH09319657A JP H09319657 A JPH09319657 A JP H09319657A JP 8138004 A JP8138004 A JP 8138004A JP 13800496 A JP13800496 A JP 13800496A JP H09319657 A JPH09319657 A JP H09319657A
Authority
JP
Japan
Prior art keywords
instruction
read
processor
cache
storage device
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
JP8138004A
Other languages
Japanese (ja)
Inventor
Noritake Kurokawa
能毅 黒川
Kazuhiko Tanaka
和彦 田中
Keiji Kojima
啓二 小島
Kiyokazu Nishioka
清和 西岡
Toru Nojiri
徹 野尻
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 Ltd
Original Assignee
Hitachi 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 filed Critical Hitachi Ltd
Priority to JP8138004A priority Critical patent/JPH09319657A/en
Publication of JPH09319657A publication Critical patent/JPH09319657A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To prevent an instruction from being uselessly read in the case of performing prefetch for enlarging a cache line or for reading the continuous areas of high read possibility into a cache before a request from a processor in order to accelerate transfer speed by utilizing the high-speed page mode of a dynamic random access memory (DRAM) or the like when constituting the instruction cache. SOLUTION: An instruction cache 105 is constituted in the minimum size of a cache line, namely, composed of one line-one instruction and between the instruction cache 105 and a main memory 101, an instruction stream buffer 108 is provided. The instruction stream buffer 108 can write an instruction stream read from the main memory 101 for a variable length in the integer multiple size of the cache line and outputting to the instruction cache 105 is enabled for the unit of a cache line.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明はパーソナルコンピュ
ータなどの情報処理装置に使われるプロセッサの命令用
キャッシュメモリに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an instruction cache memory for a processor used in an information processing device such as a personal computer.

【0002】[0002]

【従来の技術】現在のパーソナルコンピュータや、ワー
クステーションなどの情報処理装置には、高性能のプロ
セッサが搭載され、動画像処理、3次元画像処理など多
彩な処理が可能となっている。このような情報処理装置
に使用されている高性能プロセッサは、動作速度を向上
するために動作周波数を上げており、チップ内部での動
作周波数は数十メガヘルツから数百メガヘルツにまで達
している。また、プロセッサが高性能になるに従い、情
報処理装置も扱うことができるプログラムやデータのサ
イズが大きくなってきていて、それらを記憶するための
主記憶も大容量である事が必要となり、高速なSRAM
(スタティック・ランダムアクセスメモリ)で構成する
ことはコスト的にも技術的にも困難となっていて、比較
的低速なDRAM(ダイナミッック・ランダムアクセス
メモリ)で構成することになる。DRAMは現在最も市
場に出回っている4メガビット品や16メガビット品な
どでアクセス時間が60ナノ秒程度、高速ページモード
アクセスと呼ばれる高速なアクセス方法を使用してもア
クセス時間は半分の30ナノ秒で1アクセスを行なうこ
とができる。しかし、1秒間あたりに最高何回のデータ
アクセスが可能であるか周波数を計算すると33メガヘ
ルツ程度となり、数百メガヘルツで動作するプロセッサ
へ途切れなく命令およびデータを供給し続けることは不
可能であり、高性能が達成できない。
2. Description of the Related Art A high-performance processor is installed in an information processing apparatus such as a current personal computer or a workstation, and various processing such as moving image processing and three-dimensional image processing is possible. The high-performance processor used in such an information processing apparatus raises the operating frequency in order to improve the operating speed, and the operating frequency inside the chip has reached several tens of megahertz to several hundreds of megahertz. Moreover, as the performance of the processor becomes higher, the size of programs and data that can be handled by the information processing apparatus is also increasing, and it is necessary that the main memory for storing them also has a large capacity. SRAM
It is difficult to configure with a (static random access memory) in terms of cost and technology, and it is configured with a relatively low speed DRAM (dynamic random access memory). The DRAMs currently on the market are 4 megabit products and 16 megabit products, and the access time is about 60 nanoseconds. Even if a high-speed access method called fast page mode access is used, the access time is half that of 30 nanoseconds. 1 access can be performed. However, when calculating the frequency at which the maximum number of times data can be accessed per second is about 33 MHz, it is impossible to continuously supply instructions and data to a processor operating at several hundred MHz. High performance cannot be achieved.

【0003】そこで、プロセッサと低速な主記憶との間
に少量の高速なメモリ(以後キャッシュと呼ぶ)を用意
し、高性能を実現している。プロセッサが一度主記憶か
ら読み込んだ領域をキャッシュに保存し、その領域を再
びプロセッサが必要とした場合に、キャッシュに対して
アクセスを行なうことによってプロセッサへ高速にプロ
グラムやデータを供給できる。このプロセッサが読み込
みたい領域がキャッシュ内に存在する事をキャッシュの
ヒット、逆に読み込みたい領域がキャッシュ内に存在し
ない事をキャッシュのミスヒットという。キャッシュが
ミスヒットを起こした場合、主記憶から、必要とする領
域を読み出してキャッシュ内の空いている領域に読み込
むか、または空きがない場合はキャッシュ上の一部領域
と交換する事によって、キャッシュ内に領域を取り込
む。
Therefore, a small amount of high speed memory (hereinafter referred to as cache) is provided between the processor and the low speed main memory to realize high performance. When the processor stores the area once read from the main memory in the cache and the processor needs the area again, the program and data can be supplied to the processor at high speed by accessing the cache. A cache hit means that the area that the processor wants to read exists in the cache, and a cache miss hit means that the area that the processor wants to read does not exist in the cache. When a cache hits a cache, the required area is read from the main memory and read into a free area in the cache, or if there is no free space, it is replaced with a partial area on the cache. Capture the area inside.

【0004】近年のプロセッサでは、プロセッサが使用
する命令列のみを読み込む命令キャッシュと、データの
アクセスのみに使用するデータキャッシュとに分かれて
いる。このうち、命令キャッシュは命令列のみを読み込
むためのキャッシュであるため、プロセッサから見て、
読み出し専用となっている。
Recent processors are divided into an instruction cache for reading only instruction sequences used by the processor and a data cache used only for accessing data. Of these, the instruction cache is a cache for reading only the instruction string, so from the perspective of the processor,
It is read-only.

【0005】この命令キャッシュがミスヒットを起こす
と、プロセッサへの命令供給が停止するため、命令が主
記憶から読み込まれるまでの間プロセッサが停止する事
になり、性能低下の原因となる。このミスヒットを少な
くするために様々な方法が考案されている。一般的に
は、プロセッサが利用する命令列は連続し反復する性質
を持つ事を利用して、これから使用すると予測される領
域を前もってキャッシュに読み込んでおくプリフェッチ
という方法がある。特開平6−103169号公報で
は、命令列の反復性を利用し、過去のアクセス履歴を取
り、これを元にプリフェッチを行なう機構を開示してい
る。また、特開平7−105098号公報では、命令列
の連続性を利用し、キャッシュと主記憶の間にFIFO
を設けて、キャッシュがミスヒットを起こした場合、ま
ず、ミスヒットを起こしたアドレスからFIFO容量分
のデータを読み込んでおき、プロセッサの後続の命令読
み込みで必要なデータがFIFOに入っている場合はF
IFOからの読み出しを行なう事によって、高速化を図
る機構を開示している。
When this instruction cache causes a mishit, the supply of instructions to the processor is stopped, so that the processor is stopped until the instruction is read from the main memory, which causes a deterioration in performance. Various methods have been devised to reduce this mishit. In general, there is a method called prefetch in which an area expected to be used in advance is read in a cache by utilizing the fact that an instruction sequence used by a processor has a property of being continuous and repeating. Japanese Unexamined Patent Publication No. 6-103169 discloses a mechanism that utilizes the repeatability of an instruction sequence, obtains a past access history, and performs prefetch based on this. Further, in Japanese Patent Application Laid-Open No. 7-105098, the continuity of instruction sequences is used to make a FIFO between a cache and a main memory.
If a cache causes a mishit, first, the data of the FIFO capacity is read from the address causing the mishit, and if the data necessary for reading the subsequent instruction of the processor is in the FIFO, F
A mechanism for speeding up by reading from the IFO is disclosed.

【0006】[0006]

【発明が解決しようとする課題】命令キャッシュを構成
する場合、プロセッサが利用する命令列は連続性がある
ため、ある場所の命令を読み込んだ場合、その次の命令
が使用される確率が高い。よって、命令列を命令キャッ
シュへ読み込む単位(以後キャッシュラインと呼ぶ)を
大きく取ることによって、主記憶と命令キャッシュ間の
転送にDRAMの高速ページモードなどを利用して、転
送速度を向上し、性能向上が期待できる。転送速度は、
キャッシュラインのサイズを大きくする程向上する。し
かし、このキャッシュラインは、分岐命令の影響で、使
用されない無駄な命令をキャッシュに読み込む可能性が
ある。これは、キャッシュラインサイズを大きくする
程、この無駄な読み込みが大きくなり、有効な命令の転
送速度の低下や、主記憶の転送バンドを無駄に使って、
全体的に性能の低下の原因となる。また、命令列の性質
から次に読まれる可能性の高い連続した領域をプロセッ
サから要求される前に、前もってキャッシュに読み込ん
でおくプリフェッチでは、キャッシュラインサイズを小
さくしたままで、且つ大きな領域を読み込む事ができ、
このためDRAMの高速ページモードなどを利用して転
送速度向上をみこめるが、やはり、無駄な命令を読み込
む可能性はまだ大きく、性能の低下の原因となる可能性
がある。
When the instruction cache is constructed, the instruction sequence used by the processor has continuity. Therefore, when an instruction at a certain place is read, the next instruction is likely to be used. Therefore, by taking a large unit (hereinafter referred to as a cache line) for reading the instruction sequence into the instruction cache, the transfer speed between the main memory and the instruction cache can be improved by using the high speed page mode of the DRAM. Can be expected to improve. The transfer rate is
The larger the cache line size, the better. However, this cache line may read an unused instruction that is not used into the cache due to the influence of a branch instruction. This is because, as the cache line size is increased, this useless reading increases, the transfer rate of effective instructions decreases, and the transfer band of the main memory is wasted,
This will cause a decrease in performance as a whole. In addition, in prefetch in which a continuous area that is likely to be read next due to the nature of the instruction sequence is read into the cache before being requested by the processor, a large area is read while keeping the cache line size small. Can do things,
Therefore, although the high-speed page mode of the DRAM is used to improve the transfer rate, the possibility of reading a wasteful instruction is still large, and the performance may be deteriorated.

【0007】[0007]

【課題を解決するための手段】上記課題は、以下のよう
に構成することで解決する。
The above-mentioned problems can be solved by the following constitution.

【0008】命令キャッシュをキャッシュラインサイズ
を最低の大きさ、つまり1ライン1命令で構成し、命令
キャッシュと主記憶の間に命令ストリームバッファを設
ける。この命令ストリームバッファは、キャッシュライ
ンサイズの正数倍の大きさでの可変長で主記憶から読み
込んだ命令列の書き込みが可能で、命令キャッシュへの
出力はキャッシュライン単位で可能なように構成する。
The instruction cache has a minimum cache line size, that is, one instruction per line, and an instruction stream buffer is provided between the instruction cache and the main memory. This instruction stream buffer has a variable length that is a positive multiple of the cache line size and is capable of writing the instruction sequence read from the main memory and outputting to the instruction cache in cache line units. .

【0009】[0009]

【発明の実施の形態】上記手段を実現するための本発明
の実施例を図面を用いて説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention for realizing the above means will be described with reference to the drawings.

【0010】実施例を図1ないし図15を用いて説明す
る。
An embodiment will be described with reference to FIGS. 1 to 15.

【0011】図1は本実施例の全体のデータフローのブ
ロック図である。図中、101は主記憶、102は主記
憶インターフェース、103はプロセッサ、104はメ
モリバス、105は命令キャッシュ、106はデータキ
ャッシュ、107は主記憶インターフェースに接続して
いるその他のI/O機器であり、これに、108の命令
ストリームバッファを設ける。
FIG. 1 is a block diagram of the entire data flow of this embodiment. In the figure, 101 is a main memory, 102 is a main memory interface, 103 is a processor, 104 is a memory bus, 105 is an instruction cache, 106 is a data cache, and 107 is another I / O device connected to the main memory interface. Yes, this is provided with 108 instruction stream buffers.

【0012】101の主記憶は、103のプロセッサが
使用する命令列、データが格納されていて、102の主
記憶インターフェースによって、主記憶外部からの読み
書きが行なわれる。
The main memory 101 stores instruction sequences and data used by the processor 103, and the main memory interface 102 reads and writes data from outside the main memory.

【0013】102の主記憶インターフェースは、10
3のプロセッサや107のその他のI/O機器等の主記
憶へのアクセスを補助し、アクセス要求に従って101
の主記憶から命令列およびデータの入出力を行ない、結
果を要求元へ返す。
The main memory interface 102 is 10
3 assists access to the main memory of the processor or 107 of other I / O devices, etc.
The instruction sequence and data are input / output from the main memory of and the result is returned to the request source.

【0014】103のプロセッサは、101の主記憶に
格納されている命令列、データを102の主記憶インタ
ーフェースを介して読み出し、処理をおこなう。
The processor 103 stores the instruction sequence and data stored in the main memory 101, through the main memory interface 102, and processes them.

【0015】104のメモリバスは、102のメモリバ
スインターフェースとこれを利用して主記憶をアクセス
する103のプロセッサや107のI/O機器を接続し
ている。
A memory bus 104 is connected to a memory bus interface 102 and a processor 103 and an I / O device 107 which access the main memory by using the memory bus interface.

【0016】105は命令キャッシュで、103のプロ
セッサからの命令読み出し要求によって101の主記憶
から読み出された命令列が一時的に格納される。プロセ
ッサが要求した命令がここに格納されている場合、ここ
からプロセッサへ命令を送出し主記憶へはアクセスしな
い。
An instruction cache 105 temporarily stores an instruction string read from the main memory 101 by an instruction read request from the processor 103. If the instruction requested by the processor is stored here, the instruction is sent to the processor from here and the main memory is not accessed.

【0017】106はデータキャッシュで、103のプ
ロセッサからのデータ読み出し要求によって101の主
記憶から読み出されたデータ列が一時的に格納される。
プロセッサが要求したデータがここに格納されている場
合、ここからプロセッサへデータを送出し主記憶へはア
クセスしない。また、データを書き出す場合、データキ
ャッシュへ書き出すと同時に主記憶への書き込みを行な
う場合と、データキャッシュのみに書き出し、何らかの
要因でキャッシュ上のデータが消されるときに主記憶へ
書き出す場合とがある。
A data cache 106 temporarily stores the data string read from the main memory 101 by a data read request from the processor 103.
If the data requested by the processor is stored here, the data is sent from here to the processor and the main memory is not accessed. Further, when writing data, there are cases where data is written to the data cache and simultaneously written to the main memory, and data is written only to the data cache and when the data on the cache is erased for some reason, the data is written to the main memory.

【0018】107のI/O機器は、103のプロセッ
サとは独立して101の主記憶へのアクセス(DMA)
をおこなう。
The I / O device 107 accesses the main memory 101 (DMA) independently of the processor 103.
Perform

【0019】108の命令ストリームバッファは、10
3のプロセッサの命令要求を受けた102の主記憶イン
ターフェースが101の主記憶から読み出して104の
メモリバスを通して送信した命令列を受け取り、その一
部を必要に応じてプロセッサ、105の命令キャッシュ
へ送信する。
There are 10 instruction stream buffers, 10
The main memory interface 102 which has received the instruction request of the processor 3 receives the instruction sequence read from the main memory 101 and transmitted through the memory bus 104, and transmits a part thereof to the processor's 105 instruction cache as necessary. To do.

【0020】図2は実施例図1の108の命令ストリー
ムバッファブロックの内部構成である。図中、201は
メモリバスインターフェース、202は命令バッファ、
203は命令バリッドバッファ、204はアドレスタ
グ、205は命令ストリームバッファコントローラであ
る。
FIG. 2 shows the internal structure of the instruction stream buffer block 108 in FIG. 1 of the embodiment. In the figure, 201 is a memory bus interface, 202 is an instruction buffer,
Reference numeral 203 is an instruction valid buffer, 204 is an address tag, and 205 is an instruction stream buffer controller.

【0021】201のメモリバスインターフェースは、
108の命令ストリームバッファブロックを102の主
記憶インターフェースへメモリバスで接続するブロック
である。205の命令ストリームバッファコントローラ
が発行する主記憶読み出し命令を受けて、主記憶へのア
クセスを行ない、202の命令バッファへの書き込み
や、203の命令バリッドバッファへ命令が有効である
事を書き込む。
The memory bus interface of 201 is
This block connects the instruction stream buffer block 108 to the main memory interface 102 by a memory bus. In response to the main memory read command issued by the instruction stream buffer controller 205, the main memory is accessed to write to the instruction buffer 202 and to the instruction valid buffer 203 that the instruction is valid.

【0022】202の命令バッファは、201のメモリ
ーバスインターフェースが出力する命令列を格納する。
また、205の命令ストリームバッファコントローラに
よって、読み出され、103のプロセッサや、105の
命令キャッシュに書き込まれる。
The instruction buffer 202 stores the instruction string output from the memory bus interface 201.
Further, the instruction stream buffer controller 205 reads the data and writes it to the processor 103 and the instruction cache 105.

【0023】203の命令バリッドバッファは、202
の命令バッファと同じ行数の1ビット幅ラッチによって
構成される。205の命令ストリームバッファコントロ
ーラが発行する主記憶読み出し命令を受けて全てクリア
され、同じく命令ストリームバッファコントローラが発
行する命令バッファ書き込み信号を受けて、命令バッフ
ァと同じ行のビットをセットする。これによって、命令
バッファの中で有効な命令が入っている行を知る事がで
きる。
The instruction valid buffer 203 is 202
The instruction buffer is composed of 1-bit width latches with the same number of rows. A main memory read command issued by the instruction stream buffer controller 205 is cleared, and all are cleared, and an instruction buffer write signal issued by the instruction stream buffer controller is also received, and the bit in the same row as the instruction buffer is set. This allows you to find the line in the instruction buffer that contains a valid instruction.

【0024】204のアドレスタグは、この命令ストリ
ームバッファが格納している命令の主記憶上のアドレス
を保持する。205の命令ストリームバッファコントロ
ーラが発行する主記憶読み出し命令を受けて、同時に発
行される主記憶読み出しアドレスを格納し、次の主記憶
読み出し命令を受けるまで保持する。
The address tag 204 holds the address on the main memory of the instruction stored in this instruction stream buffer. Upon receiving the main memory read command issued by the instruction stream buffer controller 205, the main memory read address issued at the same time is stored and held until the next main memory read command is received.

【0025】205の命令ストリームバッファコントロ
ーラは、103のプロセッサからの読み出し要求を受け
て、要求された命令が202の命令バッファ内に格納さ
れているかを判定し、格納されている場合は、命令バッ
ファからの読み出しを行ない、無い場合は201のメモ
リバスインターフェースへ主記憶読み出し命令を発行
し、読み出されて命令バッファへ格納された命令のう
ち、103のプロセッサから要求を受けた命令をプロセ
ッサと105の命令キャッシュへ送信する。
The instruction stream buffer controller 205 receives the read request from the processor 103, determines whether the requested instruction is stored in the instruction buffer 202, and if so, the instruction buffer controller. If there is not, the main memory read instruction is issued to the memory bus interface 201, and, out of the instructions read and stored in the instruction buffer, the instruction requested by the processor 103 and the processor 105 To the instruction cache of.

【0026】以上の構成によって、命令ストリームバッ
ファブロックは、以下のように動作する。
With the above configuration, the instruction stream buffer block operates as follows.

【0027】101の主記憶に格納されている命令を1
03のプロセッサが要求すると、205の命令ストリー
ムバッファはこれを受取り、202の命令バッファ内に
格納されているかを確認する。このとき格納されている
場合は、その命令を取りだし、プロセッサおよび105
の命令キャッシュへ送信する。格納されていない場合は
201のメモリバスインターフェースへ主記憶読み出し
命令を発行し、読み出されて命令バッファへ格納された
命令列のうち、プロセッサから要求を受けた命令をプロ
セッサと105の命令キャッシュへ送信する。
The instruction stored in the main memory 101 is set to 1
When requested by the 03 processor, the 205 instruction stream buffer receives it and checks to see if it is stored in the 202 instruction buffer. If it is stored at this time, the instruction is fetched and the processor and 105
To the instruction cache of. If not stored, the main memory read command is issued to the memory bus interface 201, and the command requested by the processor in the command string read out and stored in the command buffer is stored in the processor and the command cache of 105. Send.

【0028】図3は実施例のメモリバスインターフェー
スのブロック図である。図中301は読み出しバッフ
ァ、302はスタートアドレスバッファ、303はカレ
ントアドレスカウンタ、304はメモリバスコントロー
ラ、305は命令バッファ書き込みコントローラ、30
6はメモリバスデータ、307はメモリバスアドレス、
308はメモリバス制御信号、309は読み出し命令
列、310は命令バッファ書き込みアドレス、311は
命令バッファコントロール信号、312はスタートアド
レス、313は主記憶読み出し要求信号、314は主記
憶再読み出し信号、315はリードバッファイネーブル
信号、316は命令バッファ書込制御信号、317はス
タートロードアドレス、318はカウンタコントロール
信号である。301の読み出しバッファは、316のメ
モリバスコントローラから出力される315のリードバ
ッファイネーブル信号タイミングで306のメモリバス
データをラッチし、保持する。保持している内容は、3
09の読み出し命令列として、202の命令バッファへ
出力される。
FIG. 3 is a block diagram of the memory bus interface of the embodiment. In the figure, 301 is a read buffer, 302 is a start address buffer, 303 is a current address counter, 304 is a memory bus controller, 305 is an instruction buffer write controller, 30
6 is the memory bus data, 307 is the memory bus address,
308 is a memory bus control signal, 309 is a read instruction string, 310 is an instruction buffer write address, 311 is an instruction buffer control signal, 312 is a start address, 313 is a main memory read request signal, 314 is a main memory reread signal, and 315 is A read buffer enable signal, 316 is an instruction buffer write control signal, 317 is a start load address, and 318 is a counter control signal. The read buffer 301 holds and holds the memory bus data 306 at the read buffer enable signal timing 315 output from the memory bus controller 316. The content held is 3
The read command sequence of 09 is output to the command buffer of 202.

【0029】302のスタートアドレスバッファは、2
05の命令ストリームバッファから発行される313の
主記憶読み出し要求信号のタイミングで同じく発行され
る312のスタートアドレスを格納する。このアドレス
を307のメモリバスアドレスとして104のメモリバ
スへ出力し、また、303のカレントアドレスカウンタ
の初期値として使用される317のスタートロードアド
レスとして出力される。 303のカレントアドレスカ
ウンタは、317のスタートロードアドレスを初期値と
して、命令バッファ書込コントローラの出力する318
のカウンタコントロール信号によってインクリメントさ
るカウンタである。このカウンタの出力は、310の命
令バッファ書き込みアドレスとして202の命令バッフ
ァへ出力される。
The start address buffer 302 is 2
The start address of 312 which is also issued at the timing of the main memory read request signal of 313 issued from the instruction stream buffer of 05 is stored. This address is output to the memory bus 104 as the memory bus address 307, and is also output as the start load address 317 used as the initial value of the current address counter 303. The current address counter of 303 outputs 318 of the instruction buffer write controller with the start load address of 317 as an initial value.
The counter is incremented by the counter control signal of. The output of this counter is output to the instruction buffer 202 as the instruction buffer write address 310.

【0030】304のメモリバスコントローラは、20
5の命令バッファストリームコントローラから出力され
る313の主記憶読み出し要求信号や314の主記憶再
読み出し信号をもとに、308のメモリバス制御信号を
作成し104のメモリバスへ出力し、また、315のリ
ードバッファイネーブル信号を作成し305の読み出し
バッファへ出力する。さらに、命令バッファへの書き込
みタイミングを316の命令バッファ書込制御信号とし
て出力する。
The memory bus controller 304 has 20
5, a memory bus control signal 308 is created based on the main memory read request signal 313 and the main memory reread signal 314 output from the instruction buffer stream controller 5 and is output to the memory bus 104. The read buffer enable signal is generated and output to the read buffer 305. Further, the write timing to the instruction buffer is output as an instruction buffer write control signal 316.

【0031】305の命令バッファ書込コントローラ
は、316の命令バッファ書込制御信号をもとに、30
3のカレントアドレスカウンタの310の命令バッファ
への書込アドレス作成タイミングとなる318のカウン
タコントロール信号を出力する。また311の命令バッ
ファコントロール信号を作成し、202の命令バッファ
への書き込みを行なう。
The instruction buffer write controller 305 stores 30 based on the instruction buffer write control signal 316.
A counter control signal of 318, which is a write address creation timing for the instruction buffer of 310 of the current address counter of 3, is output. Also, the instruction buffer control signal 311 is created and the instruction buffer control signal 202 is written.

【0032】この構成によって、103のプロセッサの
要求を受けて205の命令ストリームバッファが出力す
る313の主記憶読み出し要求信号や314の主記憶再
読み出し信号を受て、102の主記憶から所定の命令列
を読み出し、202の命令バッファへ書き込むことが可
能となる。
With this configuration, in response to the request from the processor 103, the main memory read request signal 313 and the main memory reread signal 314 output from the instruction stream buffer 205 are received, and a predetermined instruction from the main memory 102 is received. The column can be read and written to the instruction buffer 202.

【0033】図4は実施例の命令バッファブロックの詳
細図である。図中401は書き込み側デコーダ、402
は記憶素子アレイ、403は読み出し側デコーダ、40
4は命令バッファ書き込みアドレス、405は書き込み
命令列、406は書き込みコントロール信号、407は
命令バッファ読み出しアドレス、408は読み出し命令
列、409は読み出しコントロール信号である。
FIG. 4 is a detailed diagram of the instruction buffer block of the embodiment. In the figure, 401 is a write side decoder, 402
Is a storage element array, 403 is a read side decoder, 40
Reference numeral 4 is an instruction buffer write address, 405 is a write instruction sequence, 406 is a write control signal, 407 is an instruction buffer read address, 408 is a read instruction sequence, and 409 is a read control signal.

【0034】このブロックは402の記憶素子アレイに
書き込み命令列を格納し、その内容を読み出し命令列と
して出力する。書き込み方法は、404の命令バッファ
書き込みアドレスと405の書き込み命令列を入力し、
406の書き込みコントロール信号を発行することによ
って、402の記憶素子アレイ中の書き込みアドレスが
指し示す行に書き込み命令列が格納される。また、読み
出し方法は、407の命令バッファ読み出しアドレスを
入力し、409の読み出しコントロール信号を発行する
と、408の読み出し命令列に読み出しアドレスの行に
格納されている命令列が出力される。このとき、書き込
み側読み出し側それぞれにアドレスポート、命令列ポー
トがあり、またデコーダもそれぞれにあるため、読み出
し、書き込みが独立したタイミングで行なうことができ
る。
This block stores a write command sequence in the storage element array 402 and outputs the contents as a read command sequence. The writing method is to input the instruction buffer write address 404 and the write instruction string 405,
By issuing the write control signal 406, the write instruction sequence is stored in the row indicated by the write address in the storage element array 402. In the read method, when an instruction buffer read address 407 is input and a read control signal 409 is issued, the read instruction string 408 outputs the instruction string stored in the read address row. At this time, since the write side and the read side each have an address port and an instruction string port, and each has a decoder, reading and writing can be performed at independent timings.

【0035】図5は、実施例の命令バリッドバッファの
詳細図である。図中501はラッチ、502はアドレス
デコーダ、503はアドレス、504はセット信号、5
05はクリア信号、506は命令バリッド信号である。
FIG. 5 is a detailed diagram of the instruction valid buffer of the embodiment. In the figure, 501 is a latch, 502 is an address decoder, 503 is an address, 504 is a set signal, 5
Reference numeral 05 is a clear signal, and 506 is an instruction valid signal.

【0036】501は1ビットのラッチで、504のセ
ット信号で出力が1、505のクリア信号で出力が0と
なり、双方とも0の場合には前の値を保持する。
Reference numeral 501 denotes a 1-bit latch, which outputs 1 when a set signal is 504 and 0 when a clear signal is 505. When both are 0, the previous value is held.

【0037】502はアドレスデコーダで、503のア
ドレスが入力されると、そのアドレスに対応する504
のセット信号のみを1とする。
Reference numeral 502 denotes an address decoder which, when the address 503 is input, corresponds to the address 504.
Only the set signal of 1 is set to 1.

【0038】この構成によって、202の命令バッファ
に書き込まれた命令のうち、有効な行を示すことができ
る。
With this configuration, it is possible to indicate a valid line of the instructions written in the instruction buffer 202.

【0039】図6は実施例の命令ストリームバッファコ
ントローラのブロック図である。図中601は命令スト
リームバッファ状態判定ブロック、602は命令ストリ
ームバッファヒット判定ブロック、603は命令ストリ
ームバッファ読み出しコントローラ、604は命令スト
リームバッファバリッド信号、605は読み出しアドレ
ス、606はアドレスタグ、312は主記憶読み出しア
ドレス、313は主記憶読み出し要求信号、314は主
記憶再読み出し要求信号、610は命令バッファ読み出
しアドレス、611は命令バッファ読み出しコントロー
ル信号、612は読み出し要求信号、613は命令スト
リームバッファ再読み出し要求信号、614は命令スト
リームバッファ読み出し可能信号、615は読み出し命
令有効信号、616は命令ストリームバッファヒット信
号である。
FIG. 6 is a block diagram of the instruction stream buffer controller of the embodiment. In the figure, 601 is an instruction stream buffer state determination block, 602 is an instruction stream buffer hit determination block, 603 is an instruction stream buffer read controller, 604 is an instruction stream buffer valid signal, 605 is a read address, 606 is an address tag, and 312 is main memory. A read address, 313 is a main memory read request signal, 314 is a main memory reread request signal, 610 is an instruction buffer read address, 611 is an instruction buffer read control signal, 612 is a read request signal, and 613 is an instruction stream buffer reread request signal. , 614 is an instruction stream buffer readable signal, 615 is a read instruction valid signal, and 616 is an instruction stream buffer hit signal.

【0040】601の命令ストリームバッファ状態判定
ブロックは、605の読み出しアドレスと604の命令
ストリームバッファバリッド信号が入力され、613の
命令ストリームバッファ再読み出し要求信号、614の
命令ストリームバッファ読み出し可能信号、615の読
み出し命令有効信号を出力する。
The instruction stream buffer state determination block 601 receives the read address 605 and the instruction stream buffer valid signal 604, receives an instruction stream buffer reread request signal 613, an instruction stream buffer read enable signal 614, and a signal 615. The read command valid signal is output.

【0041】602の命令ストリームバッファヒット判
定ブロックは、605の読み出しアドレス、606のア
ドレスタグ、および615の読み出し命令有効信号から
202の命令バッファ内に格納されている命令が有効で
あるかを判定し、結果を616の命令ストリームバッフ
ァヒット信号として出力する。
The instruction stream buffer hit determination block 602 determines whether the instruction stored in the instruction buffer 202 is valid from the read address 605, the address tag 606, and the read instruction valid signal 615. , And outputs the result as an instruction stream buffer hit signal 616.

【0042】603の命令ストリームバッファ読み出し
コントローラは、103のプロセッサが発行する612
の読み出し要求信号と605の読み出しアドレス、60
1の命令ストリームバッファ状態判定ブロックが出力す
る613の命令ストリームバッファ再読み出し要求信号
と614の命令ストリームバッファ読み出し可能信号、
そして602の命令ストリームバッファヒット判定ブロ
ックが出力する616の命令ストリームバッファヒット
信号を入力として、命令ストリームバッファの現在の状
態を判定し、次に命令ストリームバッファがどのように
動作するかを決定する。その結果を312の主記憶読み
出しアドレス、313の主記憶読み出し要求信号、31
4の主記憶再読み出し要求信号、610の命令バッファ
読み出しアドレス、そして611の命令バッファ読み出
しコントロール信号に反映し、出力する。
The instruction stream buffer read controller 603 issues 612 issued by the processor 103.
Read request signal and read address of 605, 60
An instruction stream buffer re-reading request signal 613 and an instruction stream buffer readable signal 614 output from the instruction stream buffer state determination block 1;
The instruction stream buffer hit signal of 616 output from the instruction stream buffer hit determination block of 602 is input to determine the current state of the instruction stream buffer, and then determine how the instruction stream buffer operates. The result is the main memory read address of 312, the main memory read request signal of 313, 31
It is reflected in the main memory reread request signal of No. 4, the instruction buffer read address of 610, and the instruction buffer read control signal of 611, and output.

【0043】この構成によって、203の命令バリッド
バッファ、204のアドレスタグの情報と、プロセッサ
からの612の読み出し要求信号と605の読み出しア
ドレスの要求から、202命令バッファに格納されてい
る命令が有効であるかを判定し、無効である場合主記憶
からの読み出し要求を行ない、最終的に命令バッファか
ら命令を読み出すことを可能とする。
With this configuration, the instruction stored in the 202 instruction buffer is valid from the instruction valid buffer 203, the address tag information 204, the read request signal 612 and the read address request 605 from the processor. If it is invalid, a read request from the main memory is issued, and finally the instruction can be read from the instruction buffer.

【0044】図7は602の命令ストリームバッファヒ
ット判定ブロックの内部詳細図である。図中701は比
較器、702はAND回路、703はアドレスヒット信
号である。
FIG. 7 is an internal detailed diagram of the instruction stream buffer hit determination block 602. In the figure, 701 is a comparator, 702 is an AND circuit, and 703 is an address hit signal.

【0045】701の比較器は、入力される605の読
み出しアドレスと606のアドレスタグを比較し、一致
すれば703のアドレスヒット信号を真とし、それ以外
の場合は偽とする。
The comparator 701 compares the read address of the input 605 with the address tag of 606. If they match, the address hit signal of 703 is set to true, and otherwise it is set to false.

【0046】702のAND回路は、入力される615
の読み出し命令有効信号と、703のアドレスヒット信
号の論理積をとり、結果を616の命令ストリームバッ
ファヒット信号として出力する。
The AND circuit 702 receives the input 615.
The logical product of the read command valid signal of (1) and the address hit signal of 703 is calculated, and the result is output as an instruction stream buffer hit signal of 616.

【0047】このように構成することによって、入力の
605の読み出しアドレスと606のアドレスタグの値
が一致し、且つ615の読み出し命令有効信号が真の場
合に616の命令ストリームバッファヒット信号が真と
なるように動作する事が可能となる。
With this configuration, when the input read address 605 and the value of the address tag 606 match and the read instruction valid signal 615 is true, the instruction stream buffer hit signal 616 is true. It becomes possible to operate as.

【0048】図8は601の命令ストリームバッファ状
態判定ブロックである。図中801はアドレスデコー
ダ、802はセレクタ、803は命令ストリームバッフ
ァ読み出し可能判定ブロック、804は命令ストリーム
バッファ再読み出し要求判定ブロック、805はセレク
ト信号である。
FIG. 8 shows an instruction stream buffer state determination block 601. In the figure, reference numeral 801 is an address decoder, 802 is a selector, 803 is an instruction stream buffer readability determination block, 804 is an instruction stream buffer reread request determination block, and 805 is a select signal.

【0049】801のアドレスデコーダは、入力される
605の読み出しアドレスを、802のセレクタを制御
可能な形式である805のセレクト信号に変換する。
The address decoder 801 converts the input read address of 605 into a select signal of 805, which is a format in which the selector of 802 can be controlled.

【0050】802のセレクタは、入力されてくる60
4の命令ストリームバッファバリッド信号の中から、8
05のセレクト信号で示されるビット位置の値を選択
し、615の読み出し命令有効信号として出力する。こ
の構成によって、202の命令バッファ内の605の読
み出しアドレスで示される行の命令が読み出し可能であ
ることを示す事が可能となる。
The selector 802 inputs 60
8 out of 4 instruction stream buffer valid signals
The value at the bit position indicated by the select signal 05 is selected and output as a read command valid signal 615. With this configuration, it is possible to indicate that the instruction in the row indicated by the read address 605 in the instruction buffer 202 can be read.

【0051】803の命令ストリームバッファ読み出し
可能判定ブロックは、604の命令ストリームバッファ
バリッド信号から、命令ストリームバッファ読み出しが
可能かを判定し、614の命令ストリームバッファ読み
出し可能信号として出力する。 804の命令ストリー
ムバッファ再読み出し要求判定ブロックは、604の命
令ストリームバッファバリッド信号と805のセレクト
信号から、主記憶への再読み出しの要求を行なうべきか
を判定し、結果を613の命令ストリームバッファ再読
み出し要求信号として出力する。
The instruction stream buffer readable determination block 803 determines from the instruction stream buffer valid signal 604 whether the instruction stream buffer can be read and outputs it as an instruction stream buffer readable signal 614. The instruction stream buffer re-reading request decision block 804 decides from the instruction stream buffer valid signal 604 and the select signal 805 whether or not a re-reading request to the main memory should be made, and the result is read in the instruction stream buffer re-reading instruction 613 It is output as a read request signal.

【0052】図9は803の命令ストリームバッファ読
み出し可能判定ブロックの詳細図である。図中901は
nビット入力OR回路である。この回路は、nビットの
入力信号の論理和を取り、1ビットの出力信号とする。
この回路に604の命令ストリームバッファバリッド信
号を入力し、各ビットの論理和を取ることによって、2
02の命令バッファ内に少なくとも1行以上読み出し可
能である行が存在することを示す614の命令ストリー
ムバッファ読み出し可能信号を作成している。図10は
804の命令ストリームバッファ再読み出し要求判定ブ
ロックの詳細図である。図中1001はOR回路、10
02はNOT回路、1003は再読み出し不要信号であ
る。
FIG. 9 is a detailed diagram of the instruction stream buffer readability judgment block 803. In the figure, 901 is an n-bit input OR circuit. This circuit takes the logical sum of n-bit input signals and outputs it as a 1-bit output signal.
By inputting the instruction stream buffer valid signal 604 to this circuit and taking the logical sum of each bit, 2
The instruction stream buffer read enable signal 614 indicating that at least one row is readable in the instruction buffer 02 is created. FIG. 10 is a detailed diagram of the instruction stream buffer reread request determination block 804. In the figure, 1001 is an OR circuit, 10
Reference numeral 02 is a NOT circuit, and 1003 is a re-reading unnecessary signal.

【0053】1001はOR回路であり、2本の入力の
論理和をとり出力する。1002はNOT回路であり、
入力の反転信号を出力する。802のセレクタは前述の
通り、805のセレクト信号で示されるビット位置の値
を選択し、出力する。
An OR circuit 1001 takes the logical sum of two inputs and outputs it. 1002 is a NOT circuit,
Outputs the inverted signal of the input. As described above, the selector 802 selects and outputs the value of the bit position indicated by the select signal 805.

【0054】1003の再読み出し不要信号は、604
の命令ストリームバッファバリッド信号の各ビットにお
いて、下位の行に位置する信号全てと自らの値全ての論
理和をとる事によって作成する。この信号を802のセ
レクタで805のセレクト信号によって選択した結果を
1002のNOT回路で反転することによって、613
は命令ストリームバッファ再読み出し要求信号を作成す
る。
The re-reading unnecessary signal of 1003 is 604
In each bit of the instruction stream buffer valid signal of, it is created by taking the logical sum of all the signals located in the lower row and all of its own values. This signal is selected by the selector of 802 by the select signal of 805, and the NOT circuit of 1002 inverts the result.
Creates an instruction stream buffer reread request signal.

【0055】図11は603の命令ストリームバッファ
読み出しコントローラの詳細図である。図中1101は
アドレスキュー、1102,1103はアドレスセレク
タ、1104はリトライアドレス、1105は書き込み
リトライ選択信号である。
FIG. 11 is a detailed diagram of the instruction stream buffer read controller 603. In the figure, 1101 is an address queue, 1102 and 1103 are address selectors, 1104 is a retry address, and 1105 is a write retry selection signal.

【0056】1101のアドレスキューは、605の読
み出しアドレスと同じビット幅のラッチで構成されてい
て、605の読み出しアドレスを612の読み出し要求
信号で格納し、1104のリトライアドレスとして保持
する。
The address queue 1101 is composed of a latch having the same bit width as the read address of 605. The read address of 605 is stored as a read request signal of 612 and held as a retry address of 1104.

【0057】1102と1103のアドレスセレクタ
は、2組のアドレスと選択信号を入力し、選択信号の値
により、2組のアドレスのうち、決められた一方のアド
レスが出力される。1102は、入力アドレスとして6
05の読み出しアドレスと1104のリトライアドレス
が入力され、314の主記憶再読み出し要求信号によっ
て選択され、真であれば1104はリトライアドレスが
選択され、また、偽の場合は605の読み出しアドレス
が選択され、312の主記憶読み出しアドレスとして出
力される。また、1103のアドレスセレクタは、入力
アドレスとして605の読み出しアドレスと1104の
リトライアドレスが入力され、313の主記憶読み出し
要求信号と314の主記憶再読み出し要求信号の論理和
を取った1105の書き込みリトライ選択信号によって
選択され、真であれば1104はリトライアドレスが選
択され、また、偽の場合は605の読み出しアドレスが
選択され、610の命令バッファ読み出しアドレスとし
て出力される。
The address selectors 1102 and 1103 receive two sets of addresses and a selection signal, and one of the two sets of addresses determined by the value of the selection signal is output. 1102 is 6 as an input address
The read address of 05 and the retry address of 1104 are input and selected by the main memory reread request signal of 314. If true, the retry address of 1104 is selected, and if false, the read address of 605 is selected. , 312 as the main memory read address. The address selector 1103 receives the read address 605 and the retry address 1104 as input addresses, and takes the logical sum of the main memory read request signal 313 and the main memory reread request signal 314 to retry the write retry 1105. The retry address is selected by 1104 when selected by the selection signal, and when it is true, the retry address is selected by 605, and when it is false, the read address of 605 is selected and output as the instruction buffer read address of 610.

【0058】本ブロックの入力信号である612の読み
出し要求信号、613の命令ストリームバッファ再読み
出し要求信号、614の命令ストリームバッファ読み出
し可能信号、および616の命令ストリームバッファヒ
ット信号と、出力信号である312の主記憶読み出しア
ドレス、313の主記憶読み出し要求信号、314の主
記憶再読み出し要求信号、610の命令バッファ読み出
しアドレス、および611の命令バッファ読み出しコン
トロール信号の関係を図12の真理値表として示す。
The read request signal 612 which is the input signal of this block, the instruction stream buffer re-read request signal 613, the instruction stream buffer read enable signal 614, the instruction stream buffer hit signal 616, and the output signal 312. 12 shows the relationship among the main memory read address of 313, the main memory read request signal of 313, the main memory reread request signal of 314, the instruction buffer read address of 610, and the instruction buffer read control signal of 611 as a truth table of FIG.

【0059】図12の真理値表は、図11の命令ストリ
ームバッファ読み出しコントローラの入力信号と出力信
号の関係を示している。図中左半分が入力信号を示し、
右半分が出力を表している。
The truth table of FIG. 12 shows the relationship between the input signal and the output signal of the instruction stream buffer read controller of FIG. The left half of the figure shows the input signal,
The right half represents the output.

【0060】[0060]

【発明の効果】本発明によれば、最大では命令ストリー
ムバッファの記憶容量での主記憶からの連続転送が行な
えるため、主記憶からの転送速度を向上でき、且つ、キ
ャッシュラインを最小の大きさにとれるため、無駄な命
令をキャッシュに読み込む可能性がなくなる。さらに、
プリフェッチでは予測でキャッシュへ命令列を転送して
いたが、本発明では要求があったものだけキャッシュへ
の転送を行なうため、キャッシュ上での無駄な命令を読
み込むことはなくなる。また、主記憶からの命令ストリ
ームバッファへの転送を中断できるよう構成することに
よって、主記憶からの無駄な転送を減らし、次の必要な
転送への移行を迅速にできる。
According to the present invention, continuous transfer from the main memory can be performed at the maximum storage capacity of the instruction stream buffer, so that the transfer speed from the main memory can be improved and the cache line can be minimized. Therefore, there is no possibility of reading unnecessary instructions into the cache. further,
In the prefetch, the instruction string was transferred to the cache by prediction, but in the present invention, only the requested one is transferred to the cache, so that unnecessary instructions on the cache are not read. Further, by making it possible to interrupt the transfer from the main memory to the instruction stream buffer, it is possible to reduce wasteful transfer from the main memory and speed up the transition to the next necessary transfer.

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

【図1】本発明の外部構成データフローのブロック図。FIG. 1 is a block diagram of the external configuration data flow of the present invention.

【図2】本発明の命令ストリームバッファのブロック
図。
FIG. 2 is a block diagram of an instruction stream buffer of the present invention.

【図3】本発明のメモリバスインターフェースの説明
図。
FIG. 3 is an explanatory diagram of a memory bus interface of the present invention.

【図4】本発明の命令バッファブロックの一例の説明
図。
FIG. 4 is an explanatory diagram of an example of an instruction buffer block of the present invention.

【図5】本発明の命令バリッドバッファの一例の説明
図。
FIG. 5 is an explanatory diagram of an example of an instruction valid buffer of the present invention.

【図6】本発明の命令ストリームバッファコントローラ
の一例の説明図。
FIG. 6 is an explanatory diagram of an example of an instruction stream buffer controller of the present invention.

【図7】本発明の命令ストリームバッファヒット判定ブ
ロックの一例の説明図。
FIG. 7 is an explanatory diagram of an example of an instruction stream buffer hit determination block of the present invention.

【図8】本発明の命令ストリームバッファ状態判定ブロ
ックの一例の説明図。
FIG. 8 is an explanatory diagram of an example of an instruction stream buffer state determination block of the present invention.

【図9】本発明の命令ストリームバッファ読み出し可能
判定ブロックの一例の説明図。
FIG. 9 is an explanatory diagram of an example of an instruction stream buffer readability determination block of the present invention.

【図10】本発明の命令ストリームバッファ再読み出し
要求判定ブロックの一例の説明図。
FIG. 10 is an explanatory diagram of an example of an instruction stream buffer reread request determination block according to the present invention.

【図11】本発明の命令ストリームバッファ読み出しコ
ントローラの一例の説明図。
FIG. 11 is an explanatory diagram of an example of an instruction stream buffer read controller of the present invention.

【図12】本発明の命令ストリームバッファ読み出しコ
ントローラの真理値表の一例の説明図。
FIG. 12 is an explanatory diagram of an example of a truth table of the instruction stream buffer read controller of the present invention.

【符号の説明】[Explanation of symbols]

101…主記憶、102…主記憶インターフェース、1
03…プロセッサ、104…命令キャッシュ、105…
データキャッシュ、106…その他のI/O機器、10
7…命令ストリームバッファ。
101 ... Main memory, 102 ... Main memory interface, 1
03 ... Processor, 104 ... Instruction cache, 105 ...
Data cache, 106 ... Other I / O devices, 10
7 ... Instruction stream buffer.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 西岡 清和 神奈川県川崎市麻生区王禅寺1099番地株式 会社日立製作所システム開発研究所内 (72)発明者 野尻 徹 神奈川県川崎市麻生区王禅寺1099番地株式 会社日立製作所システム開発研究所内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Kiyokazu Nishioka 1099, Ozenji, Aso-ku, Kawasaki-shi, Kanagawa Hitachi Systems Development Laboratory, Inc. (72) Inventor Toru Nojiri 1099, Ozenji, Aso-ku, Kawasaki, Kanagawa Hitachi Manufacturing Systems Development Laboratory

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】命令読込に使用されるキャッシュを持つプ
ロセッサに於て、上記プロセッサが大容量記憶装置に接
続する手段と、上記キャッシュの間に自らの容量を上限
とする任意の大きさの情報を上記大容量記憶装置から読
み出す手段を持つ小容量の記憶装置を設け、上記大容量
の記憶装置から読み出された連続した命令列を一時的に
保存し、上記プロセッサからの要求に応じて自らの記憶
装置に要求された情報がある場合は、これを上記プロセ
ッサおよびキャッシュへ送信し、また、無い場合は、上
記情報を上記大容量記憶装置から読み出す手段によっ
て、要求された情報を自らの記憶装置に格納した上で、
これをプロセッサおよびキャッシュへ送信することを特
徴とする記憶装置。
1. A processor having a cache used to read instructions, and means of connecting the processor to a mass storage device, and information of arbitrary size between the caches and having its own capacity as an upper limit. A small-capacity storage device having means for reading out from the above-mentioned large-capacity storage device is provided, the continuous instruction sequence read out from the large-capacity storage device is temporarily stored, and the processor itself responds to requests from the processor. If the requested information is stored in the storage device, the requested information is transmitted to the processor and the cache, and if not, the requested information is stored in its own memory by means for reading the information from the mass storage device. After storing in the device,
A storage device characterized by transmitting this to a processor and a cache.
【請求項2】請求項1の記憶装置を備えるプロセッサ。2. A processor comprising the storage device of claim 1. 【請求項3】請求項1に於て、任意の大きさの情報を上
記大容量記憶装置から読み出す手段に加えて、現在行な
っている読み出し作業を中止する手段と、新たな読み出
し作業を開始する手段を設けて、記憶装置が上記大容量
記憶装置から読み出し作業を行なっている最中にプロセ
ッサからの要求が発生した場合、現在行なっている読み
出し作業を中断し、新たな読み出し作業を開始し、要求
された情報を自らの記憶装置に格納した上で、これをプ
ロセッサおよびキャッシュへ送信する記憶装置。
3. The method according to claim 1, wherein, in addition to the means for reading information of an arbitrary size from the mass storage device, a means for stopping the reading operation currently being performed and a new reading operation are started. If a request is issued from the processor while the storage device is performing a read operation from the mass storage device by providing means, the read operation currently being performed is interrupted and a new read operation is started. A storage device that stores requested information in its own storage device and then sends it to the processor and cache.
【請求項4】請求項3の記憶装置を備えるプロセッサ。4. A processor comprising the storage device of claim 3. 【請求項5】請求項3に於て、現在行なっている読み出
し作業を中止する手段と、新たな読み出し作業を開始す
る手段に加えて、さらに、読み出し作業を行なっている
最中のプロセッサから要求発生に対して、現在行なって
いる読み出し作業によって要求されている情報が得られ
るかを判定する手段を設け、その判定によって、得られ
ない事が判定された場合のみ、上記の現在行なっている
読み出し作業を中止する手段と、新たな読み出し作業を
開始する手段を動作させて、現在行なっている読み出し
作業を中断し、新たな読み出し作業を開始し、要求され
た情報を自らの記憶装置に格納した上で、これをプロセ
ッサおよびキャッシュへ送信する記憶装置。
5. The method according to claim 3, wherein in addition to the means for stopping the read operation currently being performed and the means for starting a new read operation, a request is made from the processor during the read operation. In response to the occurrence, a means is provided for determining whether the requested information is obtained by the current reading operation, and the above-mentioned current reading is performed only when the determination determines that the information cannot be obtained. By activating the means for stopping the work and the means for starting a new read work, the current read work is interrupted, the new read work is started, and the requested information is stored in its own storage device. A storage device that sends it above to the processor and cache.
【請求項6】請求項5の記憶装置を備えるプロセッサ。6. A processor comprising the storage device of claim 5.
JP8138004A 1996-05-31 1996-05-31 Processor provided with buffer for reading instruction Pending JPH09319657A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8138004A JPH09319657A (en) 1996-05-31 1996-05-31 Processor provided with buffer for reading instruction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8138004A JPH09319657A (en) 1996-05-31 1996-05-31 Processor provided with buffer for reading instruction

Publications (1)

Publication Number Publication Date
JPH09319657A true JPH09319657A (en) 1997-12-12

Family

ID=15211818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8138004A Pending JPH09319657A (en) 1996-05-31 1996-05-31 Processor provided with buffer for reading instruction

Country Status (1)

Country Link
JP (1) JPH09319657A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901500B1 (en) * 2000-07-28 2005-05-31 Silicon Graphics, Inc. Method and apparatus for prefetching information and storing the information in a stream buffer
US7162585B2 (en) 2003-01-08 2007-01-09 Renesas Technology Corp. Semiconductor memory device storing part of program designated by programmer, and software development apparatus for system using the same
JP2007534077A (en) * 2004-04-22 2007-11-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Data processing apparatus providing parallel access to a multidimensional array of data values
US7434023B2 (en) 2005-07-27 2008-10-07 Fujitsu Limited Memory device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901500B1 (en) * 2000-07-28 2005-05-31 Silicon Graphics, Inc. Method and apparatus for prefetching information and storing the information in a stream buffer
US7162585B2 (en) 2003-01-08 2007-01-09 Renesas Technology Corp. Semiconductor memory device storing part of program designated by programmer, and software development apparatus for system using the same
JP2007534077A (en) * 2004-04-22 2007-11-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Data processing apparatus providing parallel access to a multidimensional array of data values
JP4744510B2 (en) * 2004-04-22 2011-08-10 シリコン ハイブ ビー・ヴィー Data processing apparatus providing parallel access to a multidimensional array of data values
US7434023B2 (en) 2005-07-27 2008-10-07 Fujitsu Limited Memory device

Similar Documents

Publication Publication Date Title
KR920010950B1 (en) Device and method of accessing information
US6745309B2 (en) Pipelined memory controller
US6622228B2 (en) System and method of processing memory requests in a pipelined memory controller
US5265236A (en) Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode
US5526508A (en) Cache line replacing system for simultaneously storing data into read and write buffers having multiplexer which controls by counter value for bypassing read buffer
US5499353A (en) Cache address strobe control logic for stimulated bus cycle initiation
JP2509766B2 (en) Cache memory exchange protocol
US5253358A (en) Cache memory expansion and transparent interconnection
JPH1196072A (en) Memory access control circuit
US5893917A (en) Memory controller and method of closing a page of system memory
JPH09319657A (en) Processor provided with buffer for reading instruction
KR960007833B1 (en) Method and apparatus for fast page mode selection
US5809534A (en) Performing a write cycle to memory in a multi-processor system
US6119202A (en) Method and apparatus to interleave level 1 data cache line fill data between system bus and level 2 data cache for improved processor performance
EP0853283A1 (en) Computer system with memory controller for burst transfer
US6385687B2 (en) Method and apparatus for simultaneously accessing the tag and data arrays of a memory device
KR940001590B1 (en) Method and device for shortening memory access time in reading and writing
US6141735A (en) Performing a memory access cycle in a multi-processor computer system
JP3039391B2 (en) Memory system
EP0398191A2 (en) Quadruple word, multiplexed, paged mode and cache memory
JPH0793215A (en) Semiconductor memory
JPH0520192A (en) Cache memory store system
JP2004240520A (en) In-non cache area high speed memory access method
JP2964504B2 (en) Document processing device
JPH07230366A (en) Picture processor