JP3372873B2 - Microprocessor with main memory prefetch mechanism - Google Patents

Microprocessor with main memory prefetch mechanism

Info

Publication number
JP3372873B2
JP3372873B2 JP25411198A JP25411198A JP3372873B2 JP 3372873 B2 JP3372873 B2 JP 3372873B2 JP 25411198 A JP25411198 A JP 25411198A JP 25411198 A JP25411198 A JP 25411198A JP 3372873 B2 JP3372873 B2 JP 3372873B2
Authority
JP
Japan
Prior art keywords
memory
prefetch
data
state
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP25411198A
Other languages
Japanese (ja)
Other versions
JP2000090003A (en
Inventor
浩司 芦原
直樹 志村
博樹 寺本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP25411198A priority Critical patent/JP3372873B2/en
Publication of JP2000090003A publication Critical patent/JP2000090003A/en
Application granted granted Critical
Publication of JP3372873B2 publication Critical patent/JP3372873B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

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

【0001】[0001]

【発明の属する技術分野】TECHNICAL FIELD OF THE INVENTION

〔発明の名称〕 主記憶メモリのプリフェッチ機構を備
えたマイクロプロセッサ本発明は、マイクロプロセッサ
関し、特にパケットデータの処理等のトランザクション
処理を行う際に、必要な主記憶メモリ上のデータの必要
部分を予めマイクロプロセッサチップ内部に設けられた
高速アクセス可能なメモリ素子に予め格納して(以下、
この予め格納する動作をプリフェッチ(pre−fet
ch)という)おくことにより、主記憶メモリアクセス
のためのプログラム実行待ちの時間を大幅に減少させる
ことのできる主記憶メモリのプリフェッチ機構を備えた
マイクロプロセッサに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microprocessor, and more particularly, to a necessary part of data on the main memory required for transaction processing such as packet data processing. Pre-stored in a high-speed accessible memory device provided inside the microprocessor chip (hereinafter,
This pre-storing operation is prefetched (pre-fet).
(ch)), the present invention relates to a microprocessor equipped with a prefetch mechanism for the main memory, which can significantly reduce the program waiting time for accessing the main memory.

【0002】[0002]

【従来の技術】主記憶メモリ上のデータの必要と予測さ
れる部分をマイクロプロセッサチップ内部に設けられた
高速アクセス可能なメモリ素子に予め格納しておく主記
憶メモリアクセス装置として、従来キャッシュ(cac
he)メモリ機構が知られている。しかしながら従来の
キャッシュメモリ機構では、予めキャッシュメモリに格
納されているデータを読み出せばすむ場合は(すなわち
ヒットした場合は)主記憶メモリへのアクセスを省略す
ることが出来るが、読み出すべきアドレスのデータがキ
ャッシュメモリに複写されてない時は(すなわちミスヒ
ットした場合は)、主記憶メモリにアクセスして必要な
データブロックの読み出し処理が必要となり、この間、
内部処理が滞る。
2. Description of the Related Art A conventional cache (cac) is used as a main memory access device for preliminarily storing a portion of data in the main memory expected to be needed in a high-speed accessible memory element provided inside a microprocessor chip.
he) A memory mechanism is known. However, in the conventional cache memory mechanism, access to the main memory can be omitted if the data stored in the cache memory in advance can be read (that is, if the data is hit), but the data of the address to be read There (If you that mishit) when not being copied into the cache memory, requires reading processing of the necessary data block to access the main memory, during which,
Internal processing is delayed.

【0003】このため汎用マイクロプロセッサではミス
ヒットの発生を前提として、平均処理性能の向上を図る
べくキャッシュヒット率を高める各種の工夫がなされて
いる
For this reason, in a general-purpose microprocessor, various measures have been taken to increase the cache hit rate in order to improve the average processing performance on the premise of the occurrence of a mishit.

【0004】[0004]

【発明が解決しようとする課題】トランザクション処理
においてもプロセッサの前段に十分大きなバッファメモ
リを用意することが出来れば、このようなキャッシュメ
モリ機構により平均処理性能の向上を図ることができる
が、例えばATM(AsynchronousTran
sfer Mode)スイッチ等実時間性の厳しく要求
される処理においては、ハードウェア規模の問題の他デ
ータ遅延の問題もありバッファ規模が制限され、従っ
て、キャッシュのミスヒットが頻発した場合に処理性能
が大きく低下しシステムが破綻する危険性が存在する。
このため、このような実時間性の強い処理においては、
キャッシュメモリ機構を前提としてマイクロプロセッサ
に高負荷処理を行わせることができなかった。
Even in transaction processing, if a sufficiently large buffer memory can be prepared before the processor, such cache memory mechanism can improve the average processing performance. (AsynchronousTran
In a process such as a sfer mode) switch that requires strict real-time processing, the buffer size is limited due to the problem of data delay in addition to the problem of hardware size. There is a risk that it will drop significantly and the system will collapse.
Therefore, in such processing with strong real time,
It was not possible to make the microprocessor perform high-load processing assuming the cache memory mechanism.

【0005】本発明の目的は、このような問題点を持つ
従来のキャッシュメモリ機構に代わる、もしくはこれと
併用し得る、パケットデータ処理等の実時間性の厳しく
要求されるトランザクション処理にも十分に対応し得る
効率的な主記憶メモリアクセス機能を備えたマイクロプ
ロセッサを提供することによって、このような処理にお
いても主記憶メモリへのアクセスの間、他の処理が処理
待ちとなることがないようにして、プロセッサの効率を
向上し、プロセッサ内における被処理データの処理時間
を総合的に短縮することを目的とする。
The object of the present invention is sufficient for transaction processing that requires severe real-time processing, such as packet data processing, which can replace or be used together with the conventional cache memory mechanism having such problems. By providing a microprocessor having an efficient main memory memory access function that can be supported, even in such a process, other processes are prevented from waiting during the access to the main memory. Therefore, the efficiency of the processor is improved, and the processing time of the processed data in the processor is shortened comprehensively.

【0006】また、主記憶メモリへのアクセスプロセス
をユーザが自由にプログラミングし得る汎用性の高いマ
イクロプロセッサを提供することを目的とする。
Another object of the present invention is to provide a highly versatile microprocessor in which the user can freely program the access process to the main memory.

【0007】また更に、キャッシュメモリ機構のヒッ
ト、ミスヒット等データ内容に大きく依存する処理にく
らべ、プログラミング時の処理内容に従って処理時間が
十分に正確に予想でき、実時間性の強い処理の設計に当
たって、容易に、また確実に適用し得るマイクロプロセ
ッサを提供することを目的とする。
Further, in comparison with the processing such as the hit or miss hit of the cache memory mechanism which largely depends on the data content, the processing time can be predicted sufficiently accurately according to the processing content at the time of programming, and the design of the processing having a strong real time property is performed. An object of the present invention is to provide a microprocessor that can be applied easily and surely.

【0008】[0008]

【課題を解決するための手段】本発明では、被処理デー
タ処理のためにパイプライン(pipe line)処
理機構を使用した。すなわち、被処理データが連続的に
到来する状態を想定し、任意数の被処理データ処理回路
の各被処理データ処理回路には4面のバッファメモリを
備え、到来する被処理データ列の単位被処理データをバ
ッファメモリに書き込み、バッファメモリは格納する単
位被処理データの処理の進捗に応じて階段的に状態を遷
移し、後段の状態における処理で必要となるデータを前
段の状態の時、主記憶メモリから読み出しておくように
した。
In the present invention, a pipe line processing mechanism is used for processing the processed data. That is, assuming that the processed data arrives continuously, each processed data processing circuit of an arbitrary number of processed data processing circuits is provided with four buffer memories, and the unit processed data of the incoming processed data string is The processing data is written to the buffer memory, and the buffer memory transits the state stepwise according to the progress of the processing of the unit processed data to be stored, and the data required for the processing in the latter stage is I tried to read it from the memory.

【0009】すなわち、任意数の被処理データ処理回路
と、この任意数の被処理データ処理回路がメモリバスを
介して共通にアクセスする主記憶メモリへのアクセスリ
クェストに対するバス使用調停を行うバス制御部と、
記任意数の被処理データ処理回路のそれぞれの内部に設
けられた内部メモリとを備えたマイクロプロセッサにお
いて、本発明に係る主記憶メモリのプリフェッチ機構を
備えたマイクロプロセッサの前記任意数の被処理データ
処理回路のそれぞれは、複数のバッファメモリと、当該
被処理データ処理回路に順次入力される被処理データを
この複数のバッファメモリの接続された一つに書き込む
入力制御回路と、前記複数のバッファメモリの接続され
た一つに書き込まれた被処理データから、当該被処理デ
ータの所要処理に必要であると特定される前記主記憶メ
モリのデータを前記内部メモリにプリフェッチするプリ
フェッチ制御部と、前記複数のバッファメモリの接続さ
れた一つに書き込まれた被処理データについて、当該被
処理データに関して前記プリフェッチ制御部により前記
内部メモリにプリフェッチされた前記主記憶メモリのデ
ータを用いて前記所要処理を行うプロセッサコア部と、
前記複数のバッファメモリの接続された一つに書き込ま
れた被処理データを出力ポートに出力する出力制御回路
と、前記入力制御回路、前記プリフェッチ制御部、前記
プロセッサコア部及び前記出力制御回路のそれぞれに、
非同期で行われるそれぞれの処理状態を勘案して、前記
複数のバッファメモリのそれぞれを順次接続することに
より、当該被処理データ処理回路に順次入力される被処
理データのパイプライン処理を制御するバッファメモリ
状態管理部とを備えたことを特徴とする。
That is, a bus control unit for arbitrating the bus usage for an access request to an main memory which is commonly accessed by the arbitrary number of processed data processing circuits and the processed data processing circuits. And before
Installed inside each of the arbitrary number of processed data processing circuits.
In a microprocessor having a main memory memory prefetch mechanism according to the present invention, each of the arbitrary number of processed data processing circuits of the microprocessor has a plurality of buffer memories and From the input control circuit for writing the processed data sequentially input to the processed data processing circuit to the connected one of the plurality of buffer memories, and the processed data written to the connected one of the plurality of buffer memories. A prefetch control unit for prefetching the data of the main memory memory, which is specified as being necessary for the required processing of the processed data, into the internal memory; Regarding the processed data, the prefetch control unit pre-processes the processed data into the internal memory. A processor core section for performing the required processing using the Etchi the data of the main storage memory has been,
An output control circuit for outputting processed data written in one of the plurality of connected buffer memories to an output port, each of the input control circuit, the prefetch control unit, the processor core unit, and the output control circuit To
A buffer memory for controlling pipeline processing of processed data sequentially input to the processed data processing circuit by sequentially connecting the plurality of buffer memories in consideration of respective processing states of asynchronous processing. And a state management unit.

【0010】また、前記バッファメモリ状態管理部は、
前記複数のバッファメモリについて、前記入力制御回路
への接続待ち状態を状態0とし、前記入力制御回路に接
続され被処理データが記入されている状態を状態1と
し、前記入力制御回路での被処理データの記入が終了し
前記プリフェッチ制御部への接続待ち状態を状態1.5
とし、前記プリフェッチ制御部に接続されている状態を
状態2とし、前記プロセッサコア部に接続されている状
態を状態3とし、前記出力制御回路に接続され被処理デ
ータが出力されている状態を状態4とするとき、先行す
るバッファメモリが状態1を終え、前記入力制御回路に
入力される被処理データが1単位以上となった場合に状
態0にあるバッファメモリの一つを状態1に遷移させ、
状態1を終了したバッファメモリを状態1.5にあるバ
ッファメモリの待ち行列の後尾に付け、先行するバッフ
ァメモリが状態2を終えた場合に、状態1.5にあるバ
ッファメモリの待ち行列の先頭を状態2に遷移させ、先
行するバッファメモリが状態3を終え、且つ前記特定さ
れる前記主記憶メモリのデータの前記内部メモリへのプ
リフェッチが完了したことを条件に状態2にあるバッフ
ァメモリを状態3に遷移させ、先行するバッファメモリ
が状態4を終え、且つ前記所要処理に伴い発生した前記
主記憶メモリへのデータ書き込みが完了したことを条件
に状態3にあるバッファメモリを状態4に遷移させ、状
態4を終了したバッファメモリを状態0に編入するよう
制御することを特徴とする。
Further, the buffer memory state management section is
Regarding the plurality of buffer memories, a state of waiting for connection to the input control circuit is set to state 0, a state of being connected to the input control circuit and containing processed data is set to state 1, and processing to be performed by the input control circuit is set. After the data entry is completed, the state waiting for connection to the prefetch control unit is set to 1.5.
The state connected to the prefetch control unit is state 2, the state connected to the processor core unit is state 3, and the state connected to the output control circuit and the data to be processed is output. When 4 is set, one of the buffer memories in the state 0 is transited to the state 1 when the preceding buffer memory finishes the state 1 and the processed data input to the input control circuit becomes 1 unit or more. ,
The head of the queue of the buffer memory in the state 1.5 when the buffer memory in the state 1.5 is added to the end of the queue of the buffer memory in the state 1.5 and the preceding buffer memory finishes the state 2 To the state 2, the preceding buffer memory finishes the state 3, and the buffer memory in the state 2 is changed to the state on condition that the prefetch of the specified data in the main memory to the internal memory is completed. 3, the buffer memory in the state 3 is transited to the state 4 on condition that the preceding buffer memory finishes the state 4 and the data writing to the main memory generated by the required processing is completed. , The buffer memory which has completed the state 4 is controlled to be incorporated into the state 0.

【0011】また、前記内部メモリは、A面及びB面の
2面からなるプリフェッチメモリとキューイングバッフ
ァを有し、前記プリフェッチ制御部は接続されるバッフ
ァメモリのそれぞれの被処理データの前記所要処理に必
要であると特定される前記主記憶メモリのデータを前面
及びB面を交互に使用してプリフェッチし、前記プロセ
ッサコア部は、前記A面及びB面の内前記プリフェッチ
制御部の使用していない面を参照して前記所要処理を行
い、これに伴い発生した前記主記憶メモリへの書き込み
データを前記キューイングバッファに蓄積しておくこと
により、前記所要処理の結果により初めて参照が必要と
なる前記主記憶メモリのデータの読み出しを除き、前記
メモリバスの使用状態に影響されることなく前記所要処
理を実行することを特徴とする。
Further, the internal memory has a prefetch memory and a queuing buffer which are composed of two sides, A side and B side, and the prefetch control section performs the required processing of the respective processed data of the connected buffer memory. Data of the main memory specified as necessary for prefetching by alternately using the front side and the B side, and the processor core section uses the prefetch control section of the A side and the B side. By performing the required processing with reference to a non-existing surface and accumulating the write data to the main storage memory, which is generated due to this, in the queuing buffer, the reference is required for the first time according to the result of the required processing. Executing the required processing without being affected by the usage state of the memory bus, except for reading data from the main memory. And it features.

【0012】従って、前記プロセッサコア部における前
記所要処理を主記憶メモリへのアクセスと非同期に実行
することができ、パケットデータ処理等の実時間性の厳
しく要求されるトランザクション処理においても、主記
憶メモリへのアクセスの間、他の主記憶メモリへのアク
セスを必要としないその他の処理が処理待ちとなること
がなくなり、プロセッサ内における被処理データの処理
時間を総合的に短縮することができる。
Therefore, the required processing in the processor core unit can be executed asynchronously with the access to the main memory, and even in the transaction processing such as packet data processing which requires strict real time, the main memory is required. During the access to, the other processing that does not require access to the other main storage memory does not wait for processing, and the processing time of the processed data in the processor can be shortened as a whole.

【0013】また、アクセス時間やレイテンシの大きい
メモリ素子を使用してもプログラム実行待ち時間の増加
に直接つながらないので主記憶メモリ用に安価なメモリ
素子を使用することが可能になる。
Further, even if a memory element having a large access time or a long latency is used, it does not directly lead to an increase in the program execution waiting time, so that an inexpensive memory element can be used for the main memory.

【0014】また、本発明に係る主記憶メモリのプリフ
ェッチ機構を備えたマイクロプロセッサの前記プリフェ
ッチ制御部は、CAMにより構成されるプリフェッチア
ドレスメモリを有し、当該被処理データの前記所要処理
に必要であると特定される前記主記憶メモリのデータの
読み出し先であるプリフェッチアドレスと、このデータ
を格納すべき前記プリフェッチメモリの格納先アドレス
を算出して、このプリフェッチアドレスメモリの同一ア
ドレスに格納するプリプロセッサ部と、当該被処理デー
タに関する前記プリプロセッサ部の前記プリフェッチア
ドレス及び前記格納先アドレスの算出の終了を待って、
前記バス制御部にプリフェッチリクェストを発出し前記
メモリバスの使用許可を得て前記プリフェッチアドレス
から前記主記憶メモリのデータを読み出し、前記プリフ
ェッチメモリの前記格納先アドレスに格納する処理を、
前記プリフェッチアドレスメモリに格納された全てのプ
リフェッチアドレスについて実行するメモりアクセス部
とを備え、前記プロセッサコア部は、当該被処理データ
に関する前記所要処理が、前記プリプロセッサ部の実行
するこの当該被処理データの次の被処理データの前記プ
リフェッチアドレスの算出の終了に先行して終了した場
合には、前記バス制御部に優先書き込みリクェストを発
出し前記メモリバスの使用許可を得て前記キューイング
バッファに蓄積された主記憶メモリへの書き込みデータ
を主記憶メモリに書き込む処理を前記キューイングバッ
ファに蓄積された全てのデータについて実行し、前記次
の被処理データの前記プリフェッチアドレスの算出の終
了が前記所要処理に先行して終了した場合には、前記所
要処理終了までの間は前記バス制御部に非優先書き込み
リクェストを発出し、また前記所要処理終了後は前記バ
ス制御部に優先書き込みリクェストを発出し、前記メモ
リバスの使用許可を得て前記キューイングバッファに蓄
積された主記憶メモリへの書き込みデータを前記主記憶
メモリに書き込むと同時に、前記メモりアクセス部を介
して前記プリフェッチアドレスメモリを検索し、当該主
記憶メモリへの書き込みアドレスと一致するアドレスの
データがプリフェッチされていた場合には検索結果から
得られる前記格納先アドレスを用いて前記主記憶メモリ
への書き込みデータで前記プリフェッチメモリを更新す
る処理を前記キューイングバッファに蓄積された全ての
データについて実行するキューイングバッファ制御部を
備え、前記バス制御部は、前記プロセッサコア部の当該
被処理データに関する前記所要処理が、前記次の被処理
データの前記プリフェッチアドレスの算出の終了に先行
して終了した場合には前記プリフェッチリクェストより
優先して前記優先書き込みリクェストにバス使用許可を
与え、前記次の被処理データの前記プリフェッチアドレ
スの算出の終了が前記プロセッサコア部の当該被処理デ
ータに関する前記所要処理に先行して終了した場合には
前記優先書き込みリクェストより優先して前記プリフェ
ッチリクェストにバス使用許可を与えるバス使用調停を
行うことを特徴とする。
Further, the prefetch control unit of the microprocessor having the prefetch mechanism of the main memory according to the present invention has a prefetch address memory composed of CAM and is necessary for the required processing of the processed data. A prefetch address, which is a read destination of the data of the main memory specified to be present, and a storage destination address of the prefetch memory in which this data is to be stored are calculated and stored in the same address of this prefetch address memory And waiting for the end of the calculation of the prefetch address and the storage destination address of the preprocessor unit for the processed data,
A process of issuing a prefetch request to the bus control unit, reading the data of the main memory from the prefetch address with permission to use the memory bus, and storing the data in the storage destination address of the prefetch memory,
A memory access unit for executing all prefetch addresses stored in the prefetch address memory, wherein the processor core unit performs the required processing on the processed data by the preprocessor unit. When the prefetch address of the data to be processed next is finished prior to the end of the calculation, a priority write request is issued to the bus control unit and the use permission of the memory bus is obtained and stored in the queuing buffer. The process of writing the written data to the main memory to the main memory is executed for all the data accumulated in the queuing buffer, and the end of the calculation of the prefetch address of the next processed data is the required process. If the process is completed prior to Issues a non-priority write request to the bus control unit, and issues a priority write request to the bus control unit after the required processing is completed, and is stored in the queuing buffer with permission to use the memory bus. At the same time that the write data to the main memory is written to the main memory, the prefetch address memory is searched through the memory access unit, and the data of the address matching the write address to the main memory is prefetched. Queuing for executing a process of updating the prefetch memory with the write data to the main memory using the storage destination address obtained from the search result for all the data stored in the queuing buffer A buffer control unit, wherein the bus control unit When the required processing for the processed data of the Sassacor unit is completed prior to the end of the calculation of the prefetch address of the next processed data, the bus is used for the priority write request with priority over the prefetch request. When permission is given and the end of the calculation of the prefetch address of the next processed data precedes the required processing for the processed data of the processor core unit, the priority write request is given priority over the priority write request. It is characterized by performing bus use arbitration for giving a bus use permission to the prefetch request.

【0015】従って、前記所要処理が主記憶メモリへの
アクセスと非同期に行われても、主記憶メモリのデータ
の一貫性を保持することができる。
Therefore, even if the required processing is performed asynchronously with the access to the main memory, the consistency of the data in the main memory can be maintained.

【0016】また、本発明に係る主記憶メモリのプリフ
ェッチ機構を備えたマイクロプロセッサの前記プロセッ
サコア部は命令メモリを有し前記所要処理は、ユーザに
より外部CPUバスを介してこの命令メモリに格納され
たプログラムに従って実行され、前記プリフェッチ制御
部は命令メモリを有し前記所要処理に必要であると特定
される前記主記憶メモリのデータのプリフェッチアドレ
スは、ユーザにより外部CPUバスを介してこの命令メ
モリに格納されたプログラムに従って算出されることを
特徴とする。
Further, the processor core unit of the microprocessor having the main memory prefetch mechanism according to the present invention has an instruction memory, and the required processing is stored in the instruction memory by the user through the external CPU bus. The prefetch address of the data of the main memory which is executed according to the program and which is specified by the prefetch control unit as having the instruction memory and necessary for the required processing is stored in this instruction memory by the user via the external CPU bus. It is characterized in that it is calculated according to a stored program.

【0017】従って、主記憶メモリへのアクセスプロセ
スをユーザが自由にプログラミングすることができ、汎
用性の高いマイクロプロセッサを提供することができ
る。また、キャッシュメモリ機構のヒット、ミスヒット
等データ内容に大きく依存する処理にくらべ、プログラ
ミング時の処理内容に従って処理時間が十分に正確に予
想でき、実時間性の強い処理の設計に当たって、容易
に、また確実に適用し得るマイクロプロセッサを提供す
ることができる。
Therefore, the user can freely program the access process to the main memory and a microprocessor with high versatility can be provided. In addition, compared to the processing that greatly depends on the data content such as hit and miss hit of the cache memory mechanism, the processing time can be predicted sufficiently accurately according to the processing content at the time of programming, and it is easy to design the processing with strong real time, Further, it is possible to provide a microprocessor that can be reliably applied.

【0018】[0018]

【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について説明する。図1は本発明の主記憶メモ
リアクセス装置の全体構成を示すブロック図である。こ
の主記憶メモリアクセス装置は任意数の被処理データ処
理回路108と、任意数の被処理データ処理回路108
が被処理データを処理する上でワークメモリとして共用
する主記憶メモリ112と、任意数の被処理データ処理
回路108からの主記憶メモリ112アクセス要求の調
停や主記憶メモリとのインタフェースを行うバス制御部
111とを備えている。被処理ータ処理回路108は
パケットデータに代表される任意長の被処理データを処
理する回路で、任意数の被処理ータ処理回路108の
各回路は互いに同一の構成であるので、図面の左端の被
処理ータ処理回路108の構成だけを図示してある。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing the overall configuration of a main memory access device of the present invention. This main memory access device includes an arbitrary number of processed data processing circuits 108 and an arbitrary number of processed data processing circuits 108.
Bus control for arbitrating access requests from the main storage memory 112 from any number of the processed data processing circuits 108 and for interfacing with the main storage memory 112, which is shared as a work memory when processing the processed data. And a section 111. In the circuit to be processed the data processing circuit 108 for processing any length of data to be processed represented by the packet data, because the circuits of any number of the processed data processing circuit 108 are mutually identical construction, the left end of the drawing is shown only structure of the treated data processing circuit 108.

【0019】被処理ータ処理回路108は被処理デー
タ列を受信する入力ポート101、処理された被処理デ
ータを出力する出力ポート102、それぞれ1個の被処
理データを格納するバッファメモリ105が4面、各バ
ッファメモリ105の状態管理を行うバッファメモリ状
態管理部107、入力ポート101からの被処理データ
を状態1(後節で説明する)のバッファメモリ105に
書き込むための入力制御回路104、処理済みのデータ
が格納されている状態4(後節で説明する)のバッファ
メモリ105を読み出す出力制御回路106、被処理デ
ータの処理を行うプロセッサコア部110、プロセッサ
コア部110が被処理データを処理する上で必要となる
主記憶メモリ上のデータを事前に特定して読み出すプリ
フェッチ(pre−fetch)制御部109から構成
されている。4面のバッファメモリ105とバッファメ
モリ状態制御部107とを併せて入出力バッファメモリ
回路103という。本主記憶メモリアクセス装置には、
外部CPUバス129を経由して外部から、予め定めら
れたプログラムによる動作指示情報、すなわち、プロセ
ッサコア部110に対しては被処理データの処理プログ
ラム、プリフェッチ制御部109に対してはプリフェッ
チアドレス計算のためのプログラムが設定される。
The treated data processing circuit 108 is a buffer memory 105 for storing the output port 102, one of the processed data, respectively to output the processed data to the input port 101, which is processed to receive the processed data sequence is 4, a buffer memory status management unit 107 that manages the status of each buffer memory 105, an input control circuit 104 for writing data to be processed from the input port 101 to the buffer memory 105 in status 1 (described later), The output control circuit 106 that reads the buffer memory 105 in the state 4 (described later) in which processed data is stored, the processor core unit 110 that processes the processed data, and the processor core unit 110 stores the processed data. A prefetch (pre) that specifies and reads in advance the data in the main memory that is necessary for processing And a fetch) controller 109. The four-sided buffer memory 105 and the buffer memory state control unit 107 are collectively referred to as an input / output buffer memory circuit 103. The main memory memory access device includes
From outside via the external CPU bus 129, operation instruction information by a predetermined program, that is, a processing program of data to be processed for the processor core unit 110 and calculation of a prefetch address for the prefetch control unit 109. Program is set.

【0020】次に、4面のバッファメモリ105の状態
変遷を中心に図1の構成における各部の動作概要につい
て説明する。任意数の被処理データ処理回路108は主
記憶メモリ112を共有する。被処理データは入力ポー
ト101から入力され、処理済みデータが出力ポート1
02から出力される。入力ポート101に順次到着する
被処理データは、入力制御回路104により4面存在す
るバッファメモリ105のいずれか1つに書き込まれ
る。
Next, an outline of the operation of each unit in the configuration of FIG. 1 will be described focusing on the state transition of the buffer memories 105 on the four sides. The arbitrary number of processed data processing circuits 108 share the main memory 112. The processed data is input from the input port 101, and the processed data is output port 1
It is output from 02. The processed data that sequentially arrives at the input port 101 is written by the input control circuit 104 into any one of the four buffer memories 105.

【0021】図2は図1のバッファメモリ105の状態
遷移を示す説明図である。以下、図1と図2を参照して
入出力バッファメモリ回路103について説明する。入
出力バッファメモリ回路103の中にはバッファメモリ
105が4面存在し、これらはバッファメモリ状態管理
部107により状態管理される。各バッファモリ105
は図2に示すように6種類の状態を遷移する。図2に示
すように状態遷移の順は一定で、どのバッファメモリ1
05も状態0→状態1→状態1.5→状態2→状態3→
状態4→状態0の順に状態遷移する。バッファメモリ1
05は状態遷移ごとにチップ内の異なる回路に接続が切
り替えられ、状態0から再び状態0に戻るまでの間に1
単位の被処理データが処理される。
FIG. 2 is an explanatory diagram showing the state transition of the buffer memory 105 of FIG. The input / output buffer memory circuit 103 will be described below with reference to FIGS. 1 and 2. There are four buffer memories 105 in the input / output buffer memory circuit 103, and the states of these buffer memories 105 are managed by the buffer memory status management unit 107. Each buffer 105
Shifts between six states as shown in FIG. As shown in FIG. 2, the order of state transition is constant, and which buffer memory 1
05 also state 0 → state 1 → state 1.5 → state 2 → state 3 →
State transition is made in the order of state 4 → state 0. Buffer memory 1
In 05, the connection is switched to a different circuit in the chip for each state transition, and 1 is set between the state 0 and the state 0 again.
A unit of processed data is processed.

【0022】本発明の主記憶メモリアクセス装置の初期
化直後、バッファメモリ105は4面共に未使用状態で
ある状態0をとり、待ち行列を形成している。入力ポー
ト101が受信したデータが1単位以上になると、バッ
ファメモリ状態制御部107は、待ち行列先頭のバッフ
ァメモリ105を入力制御回路104に接続する。この
状態が図2の状態1に相当する。バッファメモリ105
が状態1に遷移すると、入力制御回路104は1単位の
受信データを状態1のバッファメモリ105に書き込
み、書き込み終了後、当該バッファメモリ105は直ち
に状態1.5に遷移する。状態1.5では先着のバッフ
ァメモリ105が全て状態2の処理を終了するまで当該
バッファメモリ105は状態1.5に留まる。
Immediately after the initialization of the main memory access device of the present invention, the buffer memory 105 is in the unused state 0 on all four sides and forms a queue. When the data received by the input port 101 becomes one unit or more, the buffer memory state control unit 107 connects the buffer memory 105 at the head of the queue to the input control circuit 104. This state corresponds to the state 1 in FIG. Buffer memory 105
Transitions to the state 1, the input control circuit 104 writes 1 unit of received data to the buffer memory 105 in the state 1, and the buffer memory 105 immediately transits to the state 1.5 after the writing is completed. In the state 1.5, the buffer memory 105 stays in the state 1.5 until all the first-arriving buffer memories 105 finish the processing in the state 2.

【0023】この時、連続して被処理データが到着した
場合、未使用状態(すなわち、状態0)のバッファメモ
リ105が存在する間、新たなバッファメモリ105を
状態1に遷移させ、次の被処理データをバッファメモリ
105に書き込む。従って、複数のバッファメモリ10
5が状態1.5をとることがあり、その時は待ち行列が
形成される。先着のバッファメモリ105が状態2を終
了すると、バッファメモリ状態制御部107は、状態
1.5の待ち行列先頭のバッファメモリ105をプリフ
ェッチ制御部109に接続する。この状態が図2の状態
2に相当する。状態2ではプリフェッチ制御部109か
らバッファメモリ105の値が読み出される。状態2で
は当該バッファメモリ105自身の状態2の終了と、先
着バッファメモリ105の状態3終了の条件が揃うと、
バッファメモリ状態制御部107は当該バッファメモリ
105をプロセッサコア部110に接続する。この状態
が図2の状態3に相当する。
At this time, when the data to be processed arrives continuously, while the buffer memory 105 in the unused state (that is, the state 0) exists, the new buffer memory 105 is transited to the state 1 and the next processed data is transmitted. The processing data is written in the buffer memory 105. Therefore, a plurality of buffer memories 10
5 may assume the state 1.5, at which time a queue is formed. When the first-arrival buffer memory 105 finishes the state 2, the buffer memory state control unit 107 connects the buffer memory 105 at the head of the queue in the state 1.5 to the prefetch control unit 109. This state corresponds to the state 2 in FIG. In the state 2, the value of the buffer memory 105 is read from the prefetch control unit 109. In the state 2, when the condition for ending the state 2 of the buffer memory 105 itself and the condition for ending the state 3 of the first-arrival buffer memory 105 are met,
The buffer memory state control unit 107 connects the buffer memory 105 to the processor core unit 110. This state corresponds to the state 3 in FIG.

【0024】状態3ではプロセッサコア部110からの
バッファメモリ105の被処理データ参照/更新が可能
となる。状態3も状態2と同様に、当該バッファメモリ
105自身の状態3での処理終了と先着バッファメモリ
105の状態4終了の条件が揃うと、バッファメモリ状
態制御部107は当該バッファメモリ105を出力制御
回路106に接続する。この状態が図2の状態4に相当
する。状態4ではバッファメモリ105の内容が出力制
御回路106に転送される。状態4は処理終了と同時に
状態0に遷移し、当該バッファメモリ105は状態0の
待ち行列の最後尾につく。
In the state 3, the processed data of the buffer memory 105 can be referred to / updated from the processor core unit 110. Similarly to the state 2, in the state 3, when the conditions for ending the processing of the buffer memory 105 itself in the state 3 and ending the state 4 of the first-arrival buffer memory 105 are satisfied, the buffer memory state control unit 107 controls the output of the buffer memory 105. Connect to circuit 106. This state corresponds to the state 4 in FIG. In the state 4, the contents of the buffer memory 105 are transferred to the output control circuit 106. The state 4 transits to the state 0 upon completion of the processing, and the buffer memory 105 is at the end of the queue of the state 0.

【0025】4面存在するバッファメモリ105は各々
がこのように状態遷移を行い、入出力バッファメモリ回
路103全体として被処理データのパイプライン(pi
peline)処理機構として機能する。このようなパ
イプライン処理機構は、例えば本願出願人と同一出願人
の出願に係る特開平10−106253号公報で開示さ
れた「入出力バッファメモリ回路」に詳述されており、
以上説明した入出力バッファメモリ回路103は、上記
発明において、バッファメモリを4面とした場合に相当
する。本願発明では、この被処理データのパイプライン
処理機構を応用して、プロセッサコア部110での処理
(状態3)に必要であることが被処理データの内容等か
ら特定できるデータを状態2において主記憶メモリ11
2からプリフェッチしておくことにより、主記憶メモリ
112へのアクセス待ち時間の全体の処理時間への影響
を極力軽減している。
Each of the four buffer memories 105 makes the state transition in this way, and the input / output buffer memory circuit 103 as a whole has a pipeline (pi) of processed data.
function as a processing mechanism. Such a pipeline processing mechanism is described in detail in, for example, "I / O buffer memory circuit" disclosed in Japanese Patent Application Laid-Open No. 10-106253 filed by the applicant of the present application,
The input / output buffer memory circuit 103 described above corresponds to a case where the buffer memory has four sides in the above invention. In the present invention, by applying this pipeline processing mechanism of the processed data, the data which can be specified from the content of the processed data and the like that is necessary for the processing (state 3) in the processor core unit 110 is mainly used in the state 2. Storage memory 11
By prefetching from 2, the influence of the waiting time for accessing the main memory 112 on the entire processing time is minimized.

【0026】以下、主記憶メモリ112へのアクセスを
中心にプリフェッチ制御部109とプロセッサコア部1
10の機能分担とそれぞれの動作概要について説明す
る。プリフェッチ制御部109の目的は、プロセッサコ
ア部110が状態3のバッファメモリ105に格納され
た被処理データを処理するのに必要な主記憶メモリ11
2上のデータの多くを、当該被処理データが状態2にあ
る時点で特定し、読み出しを行うことにある。読み出し
アドレスの特定方法には2つの方法がある。第1の方法
はデータ線120を介して状態2のバッファメモリ10
5の内容を読み出すことにより、到着した被処理データ
のタイプを判断し、例えばATM通信方式におけるセル
処理では当該パケットのVPI(Vertual Pa
th識別子)、VCI(Vertual Channe
l 識別子)、セル種別等のヘッダ情報から所要データ
の読み出しアドレスを特定する方法であり、第2の方法
は、例えば障害監視用セルの周期到着監視等、一定周期
間隔で起動されるタスクの処理で用いられるデータのよ
うに、プリフェッチ制御部109内にタイマ機能を持
ち、時刻計測により処理内容と所要データの読出しアド
レスを特定して主記憶メモリ112を読み出す方法であ
る。
Hereinafter, the prefetch control unit 109 and the processor core unit 1 will be focused on the access to the main memory 112.
The function sharing of 10 and the outline of each operation will be described. The purpose of the prefetch control unit 109 is to allow the processor core unit 110 to process the data to be processed stored in the buffer memory 105 in the state 3 in the main memory 11 required.
Most of the data on 2 is specified and read when the data to be processed is in state 2. There are two methods for specifying the read address. The first method is to use the buffer memory 10 in the state 2 via the data line 120.
The type of the processed data that has arrived is determined by reading the contents of No. 5, and in the cell processing in the ATM communication system, for example, the VPI (Vertical Pa) of the packet is determined.
th identifier), VCI (Vertical Channel)
l identifier), the read address of the required data is specified from the header information such as the cell type, and the second method is the processing of a task activated at a constant cycle interval, such as periodic arrival monitoring of a fault monitoring cell. This is a method in which the prefetch control unit 109 has a timer function like the data used in the above, and the processing contents and the read address of the required data are specified by the time measurement and the main memory 112 is read.

【0027】図8は図1のプリフェッチ制御部109の
詳細構成を示すブロック図である。以下、図1及び図8
を参照してプリフェッチ制御部109の構成と動作の概
要について説明する。図8に示すように、プリフェッチ
制御部109はプリプロセッサ部500と、メモリアク
セス部501の2つの部分から構成される。プリプロセ
ッサ部500はそれ自身が専用目的に設計されたマイク
ロプロセッサであり、プリフェッチ処理の実現に必要な
最小限の命令セット、記憶資源を持つ。命令メモリ59
0がプリプロセッサ部500に内蔵されており、外部C
PUバス129を経由して、この命令メモリ590にプ
ログラムが設定される。プリフェッチすべき主記憶メモ
リ112のアドレス、すなわちプリフェッチアドレス
は、命令メモリ590に設定されたプログラムの実行に
よって計算され、計算結果であるプリフェッチアドレス
がプリフェッチアドレスメモリ595に格納される。こ
のプリフェッチアドレスメモリ595はCAM(連想記
憶メモリ:Content Addressable
Memory)により構成される。
FIG. 8 is a block diagram showing the detailed arrangement of the prefetch control unit 109 shown in FIG. Hereinafter, FIG. 1 and FIG.
The outline of the configuration and operation of the prefetch control unit 109 will be described with reference to FIG. As shown in FIG. 8, the prefetch control unit 109 is composed of two parts, a preprocessor unit 500 and a memory access unit 501. The preprocessor unit 500 is a microprocessor designed by itself for its own purpose, and has a minimum instruction set and storage resources necessary for implementing prefetch processing. Instruction memory 59
0 is built in the preprocessor unit 500, and external C
A program is set in this instruction memory 590 via the PU bus 129. The address of the main memory 112 to be prefetched, that is, the prefetch address is calculated by executing the program set in the instruction memory 590, and the prefetch address as the calculation result is stored in the prefetch address memory 595. The prefetch address memory 595 is a CAM (Content Addressable Memory: Content Addressable Memory).
Memory).

【0028】メモリアクセス部501は、プリプロセッ
サ部500が計算したプリフェッチアドレスに従い、主
記憶メモリ112を読み出す。主記憶メモリ112への
アクセス開始は、プリプロセッサ部500からのプリフ
ェッチアドレスの計算終了を意味する専用命令afin
によって開始される。専用命令afinが実行される
と、リクェスト信号が制御バス128を介してバス制御
部111に送られる。これを受けたバス制御部111は
プロセッサコア部110からの読み出し/書き込み要求
との調停を行い、メモリアクセス部501に制御バス1
28を介してバス使用許可信号を返信する。バス使用許
可信号を受信したメモリアクセス部501が、アドレス
バス127に読み出しアドレスを送出し、制御バス12
8を介して読み出し指示信号をバス制御部111に送る
ことにより、バス制御部111が主記憶メモリ112を
読み出す。
The memory access unit 501 reads the main memory 112 according to the prefetch address calculated by the preprocessor unit 500. The start of access to the main memory 112 means the end of the calculation of the prefetch address from the preprocessor unit 500 and the dedicated instruction afin.
Started by When the dedicated instruction afin is executed, a request signal is sent to the bus control unit 111 via the control bus 128. In response to this, the bus control unit 111 arbitrates with the read / write request from the processor core unit 110, and sends the control bus 1 to the memory access unit 501.
A bus use permission signal is returned via 28. Upon receiving the bus use permission signal, the memory access unit 501 sends the read address to the address bus 127, and the control bus 12
By sending a read instruction signal to the bus control unit 111 via 8, the bus control unit 111 reads the main memory 112.

【0029】読み出されたデータはデータバス126を
介してメモリアクセス部501のプリフェッチメモリ5
97、598の何れか一方に格納される。リクェスト信
号の送出は、プリプロセッサ部500で計算した総ての
プリフェッチアドレスに対する読み出し要求が許可され
るまで続けられ、総てのプリフェッチアドレスの読み出
しが完了するまで同様な読み出し処理が続けられる。
The read data is sent to the prefetch memory 5 of the memory access unit 501 via the data bus 126.
It is stored in one of 97 and 598. The transmission of the request signal is continued until the read requests for all the prefetch addresses calculated by the preprocessor unit 500 are permitted, and the same read processing is continued until the reading of all the prefetch addresses is completed.

【0030】プリプロセッサ部500で計算した総ての
プリフェッチアドレスに対する読み出しが完了すると、
プリフェッチ制御部109は信号線543、122を介
し、バッファメモリ状態制御部107へ状態2の終了を
通知する。その後、先着のバッファメモリ105が既に
状態3を終了していれば直ちに、そうでなければ、先着
のバッファメモリ105が状態3を終了するのを待っ
て、状態2の当該バッファメモリ105は状態3へ遷移
する。当該バッファメモリ105の状態3への遷移と同
期して、プロセッサコア部110にはバッファメモリ状
態制御部107から信号線123を介して被処理データ
の到着が通知される。
When all the prefetch addresses calculated by the preprocessor unit 500 have been read,
The prefetch control unit 109 notifies the buffer memory state control unit 107 of the end of state 2 via the signal lines 543 and 122. After that, immediately if the first-arrival buffer memory 105 has already completed the state 3, otherwise, the first-arrival buffer memory 105 waits for the completion of the state 3, and then the relevant buffer memory 105 of the state 2 becomes the status 3 Transition to. In synchronization with the transition of the buffer memory 105 to the state 3, the processor core unit 110 is notified from the buffer memory state control unit 107 via the signal line 123 that the processed data has arrived.

【0031】プロセッサコア部110のプログラムは、
被処理データの到着をトリガに処理実行を開始し、処理
の際にプリフェッチ制御部109で予めプリフェッチさ
れているデータはデータ線125を介して即時に参照さ
れる。従って、予め特定できプリフェッチされるデータ
については、当該データの主記憶メモリ112読み出し
待ちのために次命令が処理待ち状態になることはなくな
る。
The program of the processor core unit 110 is
The process execution is started by the arrival of the data to be processed as a trigger, and the data pre-fetched by the prefetch control unit 109 at the time of the process is immediately referred to via the data line 125. Therefore, for data that can be specified in advance and prefetched, the next instruction does not enter the processing waiting state because the main storage memory 112 of the data is waiting to be read.

【0032】次に、プリフェッチ制御部でプリフェッチ
できないデータの読み出しについて説明する。プロセッ
サコア部110での処理結果によってはじめて主記憶メ
モリ112のどのアドレスを読み出すかが決定される場
合には、プリフェッチ制御部109において予めプリフ
ェッチアドレスを特定することは出来ない。このため、
プロセッサコア部110の命令セットには主記憶メモリ
112読み出し命令が定義されてあり、プロセッサコア
部110からも必要なデータの読み出しが可能になって
いる。このプロセッサコア部110からの主記憶メモリ
112読み出し動作の概要について説明する。
Next, reading of data that cannot be prefetched by the prefetch control unit will be described. When which address of the main memory 112 is to be read for the first time is determined by the processing result in the processor core unit 110, the prefetch control unit 109 cannot specify the prefetch address in advance. For this reason,
A main memory 112 read instruction is defined in the instruction set of the processor core unit 110, and necessary data can be read from the processor core unit 110 as well. The outline of the read operation of the main memory 112 from the processor core unit 110 will be described.

【0033】まず、読み出し命令発行によって、プロセ
ッサコア部110からバス制御部111に向けて主記憶
メモリ112の読み出しを要求するリクェストが発出さ
れる。バス制御部111は制御バス128を介してプロ
セッサコア部からの読み出し要求を受けると、同一の被
処理データ処理回路108内のプリフェッチ制御回路1
09からの読み出し及び、後述するプロセッサコア部1
10からの書き込みよりも優先してバス使用許可を与え
る。プロセッサコア部110はバス制御部111からの
バス使用許可を受信すると、アドレスバス127に読み
出しアドレス、制御バス128に読み出し指示を乗せて
バス制御部111に送り、バス制御部111は主記憶メ
モリ112を読み出す。読み出されたデータは、データ
バス126を介してプロセッサコア部110が受け取
る。なお、この方法による読み出しにおいては主記憶メ
モリ112からデータを読み出すまでの間、プロセッサ
コア部110の次命令は処理待ち状態になり、性能低下
を引き起こす。このため上記のようにプロセッサコア部
110からの主記憶メモリ112の読出しリクェストに
対しては、プリフェッチ制御回路109からの読み出し
及びプロセッサコア部110からの書き込みに優先して
バス使用許可が与えられる。
First, by issuing a read command, a request for reading the main memory 112 is issued from the processor core unit 110 to the bus control unit 111. When the bus control unit 111 receives a read request from the processor core unit via the control bus 128, the prefetch control circuit 1 in the same processed data processing circuit 108
09, and the processor core unit 1 described later.
The bus use permission is given prior to the writing from 10. When the processor core unit 110 receives the bus use permission from the bus control unit 111, the processor core unit 110 sends a read address to the address bus 127 and a read instruction to the control bus 128, and sends the read instruction to the bus control unit 111. Read out. The read data is received by the processor core unit 110 via the data bus 126. In the reading by this method, until the data is read from the main memory 112, the next instruction of the processor core unit 110 is in the processing waiting state, which causes the performance deterioration. Therefore, as described above, the bus request permission is given to the read request of the main memory 112 from the processor core unit 110 in preference to the read from the prefetch control circuit 109 and the write from the processor core unit 110.

【0034】次にプロセッサコア部110が主記憶メモ
リ112へデータを書き込む書き込み動作の概要につい
て説明する。書き込みデータに対しプロセッサコア部1
10はプログラム命令により書き込み指示を行う。書き
込み指示は一旦プロセッサコア部110内のキューイン
グバッファに登録され、以下の2つの場合のいずれかの
状態になった時キューイングバッファに登録されたデー
タの書き込み処理リクェスト信号が送出される。第1に
プリフェッチ制御部109でプリフェッチアドレス計算
終了を意味する専用命令afinが発行されたとき。第
2に状態3のバッファメモリ105に対するプロセッサ
コア部110での処理終了を意味する専用命令finが
発行されたとき。上記2つのいずれかの状態になった時
点でキューイングバッファの書き込みリクェストが発出
される。バス制御部111はバス調停を行い、プロセッ
サコア部110は制御バス128を介してバス使用許可
を受信すると、アドレスバス127に書き込みアドレ
ス、データバス126に書き込みデータを出力し、バス
制御部111が主記憶メモリ112にこれを書き込む。
Next, an outline of a write operation in which the processor core unit 110 writes data to the main memory 112 will be described. Processor core unit 1 for write data
Reference numeral 10 gives a write instruction by a program instruction. The write instruction is once registered in the queuing buffer in the processor core unit 110, and a write processing request signal for the data registered in the queuing buffer is transmitted when either of the following two cases occurs. First, when the prefetch control unit 109 issues a dedicated instruction afin which means the end of prefetch address calculation. Secondly, when the dedicated instruction fin, which means the end of processing in the processor core unit 110 for the buffer memory 105 in state 3, is issued. A write request for the queuing buffer is issued when either of the above two states is entered. The bus control unit 111 performs bus arbitration, and when the processor core unit 110 receives the bus use permission via the control bus 128, the write address is output to the address bus 127 and the write data is output to the data bus 126. This is written in the main memory 112.

【0035】以下、主として図8を参照しプリフェッチ
制御部109の詳細について説明する。さきに説明した
通りプリフェッチ制御部109はプリプロセッサ部50
0と、メモリアクセス部501とから構成される。プリ
プロセッサ部500は命令メモリ590、命令デコーダ
591、演算処理/実行制御部592、ワークメモリ5
93、CAM594、プリフェッチアドレスメモリ59
5、共通バス522を備える。命令メモリ590には外
部CPUバス129からプリフェッチのためのプログラ
ムがダウンロードされて格納される。命令デコーダ59
1は命令メモリから読出された命令を解釈して、周辺の
構成要素に対して命令に応じた制御信号を出力する。演
算処理/実行制御部592は、命令デコーダ591から
の指示により、内部の演算器を使用して、内部のレジス
タ(図示せず)、ワークメモリ593、CAM594等
各種の記憶装置に格納されたデータ間の算術論理演算処
理を行い、これを再び前記各種の記憶装置に格納するこ
と及びプログラム分岐処理等を実行する。
The details of the prefetch control unit 109 will be described below mainly with reference to FIG. As described above, the prefetch control unit 109 is the preprocessor unit 50.
0 and a memory access unit 501. The preprocessor unit 500 includes an instruction memory 590, an instruction decoder 591, an arithmetic processing / execution control unit 592, and a work memory 5.
93, CAM 594, prefetch address memory 59
5, a common bus 522 is provided. A program for prefetching is downloaded from the external CPU bus 129 and stored in the instruction memory 590. Instruction decoder 59
Reference numeral 1 interprets an instruction read from the instruction memory and outputs a control signal corresponding to the instruction to peripheral components. In response to an instruction from the instruction decoder 591, the arithmetic processing / execution control unit 592 uses an internal arithmetic unit to store data stored in various storage devices such as an internal register (not shown), work memory 593, and CAM 594. Then, arithmetic logic operation processing is performed between them, the processing is stored again in the various storage devices, and the program branch processing is executed.

【0036】プログラム処理の際には、汎用的に使用さ
れるワークメモリ593に加えCAM594が使用され
る。CAM594は通常のメモリの機能である読み出し
機能と書き込み機能の他に検索機能を備えており、検索
キーを与えて、メモリ素子中に検索キーと一致するデー
タが書き込まれているかどうかを調べ、また更に、一致
するデータが書き込まれていた場合、そのデータが書き
込まれているアドレスも同時に出力する機能を備えてい
るメモリ素子である。演算処理/実行制御部592で計
算されたプリフェッチアドレスは、CAM構成のプリフ
ェッチアドレスメモリ595に書き込まれるが、プリフ
ェッチ制御部109のプログラム命令から検索機能は使
用出来ず書き込み専用メモリとして使用される。
In the program processing, the CAM 594 is used in addition to the work memory 593 which is generally used. The CAM 594 has a search function in addition to the read and write functions that are the usual memory functions. It gives a search key to check whether or not data matching the search key is written in the memory element. Further, when the matching data is written, the memory element has a function of outputting the address at which the data is written at the same time. The prefetch address calculated by the arithmetic processing / execution control unit 592 is written in the prefetch address memory 595 having the CAM structure, but the search function cannot be used from the program instruction of the prefetch control unit 109 and is used as a write-only memory.

【0037】メモリアクセス部501は、プリフェッチ
アクセス制御部596、プリフェッチメモリ(A面)5
97、プリフェッチメモリ(B面)598を備え、プリ
フェッチメモリのA面とB面は、状態2にあるバッファ
メモリ105の被処理データに関するプリフェッチデー
タが書き込まれる書き込みモードと、書き込まれている
データが状態3に移行したバッファメモリ105の被処
理データの処理のためプロセッサコア部110から参照
される参照モードとを交互に繰り返す。このモードの遷
移管理はプリフェッチアクセス制御部596が行う。プ
リフェッチアクセス制御部596は、プリフェッチアド
レスメモリ595を読み出してバス制御部111へ主記
憶メモリ読み出し要求と読み出しアドレスの発出を行
い、読み出されたデータをプリフェッチメモリのA面5
97、あるいはB面598への書き込みを制御する。
The memory access unit 501 includes a prefetch access control unit 596 and a prefetch memory (A side) 5.
97, a prefetch memory (B side) 598. The A side and the B side of the prefetch memory are in a write mode in which prefetch data regarding the processed data of the buffer memory 105 in the state 2 is written and the written data is in the state. The reference mode referred to by the processor core unit 110 for processing the data to be processed in the buffer memory 105 that has moved to 3 is alternately repeated. The prefetch access control unit 596 manages the transition of this mode. The prefetch access control unit 596 reads the prefetch address memory 595, issues a main memory read request and a read address to the bus control unit 111, and outputs the read data to the A side 5 of the prefetch memory.
97, or writing to the B side 598 is controlled.

【0038】以下、プリフェッチ制御部109の動作の
詳細について説明する。被処理データが状態2に遷移す
るまでの間プリプロセッサ部500は動作停止してい
る。バッファメモリ状態制御部107から信号線524
(=信号線122)を介して、バッファメモリ105に
格納された被処理データが状態2に遷移したことの通知
を受けると、演算処理/実行制御部592はプリフェッ
チアドレス計算プログラムの実行を開始する。プリフェ
ッチアドレス計算の際には、外部CPUバス129から
ダウンロードされたプログラムに従って様々な記憶資源
(状態2のバッファメモリ105、演算処理/実行制御
部592内のレジスタ、ワークメモリ593、CAM5
94)を使いながらプリフェッチアドレス計算を行う。
計算結果のプリフェッチアドレスメモリ595への書き
込みは、プリフェッチアドレスメモリ595への書き込
み命令を実行することによって行われる。この命令によ
り、命令デコーダ591からプリフェッチアドレスメモ
リ595書き込み指示が出力され(信号線525)、プ
リフェッチアドレス制御部596から信号線534を介
してプリフェッチアドレスメモリ595に格納される。
更に、この書き込み命令のオペランドには、プリフェッ
チアドレスすなわち主記憶メモリ112の読出し先アド
レスと格納先メモリ(プリフェッチメモリA面597又
はプリフェッチメモリB面598)への書き込みアドレ
スが即値で指定されており、図10の602(読出し先
アドレス)、601(格納先アドレス)のようにプリフ
ェッチアドレスメモリ595の同一ワード上に2つの情
報が書き込まれる。
Details of the operation of the prefetch control unit 109 will be described below. The preprocessor unit 500 is inactive until the processed data transits to the state 2. From the buffer memory state control unit 107 to the signal line 524
When the notification that the data to be processed stored in the buffer memory 105 has transited to the state 2 is received via (= signal line 122), the arithmetic processing / execution control unit 592 starts the execution of the prefetch address calculation program. . When calculating the prefetch address, various storage resources (the buffer memory 105 in the state 2, the registers in the arithmetic processing / execution control unit 592, the work memory 593, the CAM 5 according to the program downloaded from the external CPU bus 129 are used.
94) is used to calculate the prefetch address.
Writing the calculation result to the prefetch address memory 595 is performed by executing a write instruction to the prefetch address memory 595. By this instruction, the instruction decoder 591 outputs a prefetch address memory 595 write instruction (signal line 525), and the prefetch address control unit 596 stores it in the prefetch address memory 595 via the signal line 534.
Furthermore, in the operand of this write instruction, the prefetch address, that is, the read destination address of the main storage memory 112 and the write address to the storage destination memory (prefetch memory A side 597 or prefetch memory B side 598) are designated by immediate values. Two pieces of information are written in the same word of the prefetch address memory 595, such as 602 (read destination address) and 601 (storage destination address) in FIG.

【0039】プリフェッチアドレスの計算は前述のよう
にマイクロプロセッサの使用目的に応じて命令メモリ5
90に格納されるユーザー設定のプログラムにより任意
に設定できる。以下、ATMのセル処理を例にとり計算
例3方法を説明する。
As described above, the calculation of the prefetch address is performed according to the purpose of use of the microprocessor.
It can be arbitrarily set by a user setting program stored in 90. Hereinafter, the calculation example 3 method will be described by taking ATM cell processing as an example.

【0040】第1の方法は被処理データ中の情報を基に
主記憶メモリ112に設けられたテーブルを参照する場
合のプリフェッチアドレスの計算方法例であり、図11
の摸式図を参照して説明する。ATM通信に代表される
固定長パケットデータ(ATM通信ではATMセル)に
はデータ中にコネクションID(識別子)(ATMセル
ではVPI、VCI)情報フィールドが存在する。図1
1の例では、主記憶メモリ112に設けられたテーブル
に、ID番号毎の所要情報が2のn乗ワードの固定長エ
ントリとしてテーブル全体の先頭アドレスからID番号
順に固定的に割り当てられている。
The first method is an example of a method of calculating the prefetch address when referring to the table provided in the main memory 112 based on the information in the processed data.
This will be described with reference to the schematic diagram of FIG. Fixed-length packet data (ATM cell in ATM communication) represented by ATM communication has a connection ID (identifier) (VPI, VCI in ATM cell) information field in the data. Figure 1
In the first example, the required information for each ID number is fixedly allocated to the table provided in the main memory 112 in the order of the ID number from the head address of the entire table as a fixed-length entry of 2 nth power word.

【0041】被処理データが状態2に遷移すると、プロ
グラムの実行が開始される。まず状態2のバッファメモ
リ105の中のID情報フィールドが含まれるワードを
読み出す命令が実行される(図11、矢印7a05)。
読み出されたワード7a00をnビット左へシフトする
(矢印7a06)。更に予め外部CPUバス129より
ワークメモリ593に格納済みのテーブル先頭アドレス
7a01を算術加算する命令を実行する(矢印7a0
7)。ここまでの計算で求めた7a02がテーブルの当
該IDのエントリの先頭アドレスとなる。その後1づつ
インクリメントする算術加算命令を実行しながら、7a
02から(7a02+各IDのテーブルサイズ−1)ま
での値をプリフェッチアドレスメモリ595に書き込む
命令を実行する(矢印7a08〜7a09)。尚、図1
1に示す例ではテーブルのID番号毎のエントリサイズ
を2のn乗と限定したが、これはプリプロセッサ部50
0の回路規模を抑制するためで、プリプロセッサ部に乗
算器を持てば、ID番号と各ID毎のエントリサイズの
積を計算することで2のn乗以外のエントリサイズであ
っても、各エントリの先頭アドレスを計算することがで
きる。
When the data to be processed transits to state 2, execution of the program is started. First, an instruction to read the word including the ID information field in the buffer memory 105 in the state 2 is executed (FIG. 11, arrow 7a05).
The read word 7a00 is shifted to the left by n bits (arrow 7a06). Further, an instruction for arithmetically adding the table start address 7a01 already stored in the work memory 593 from the external CPU bus 129 is executed (arrow 7a0).
7). 7a02 obtained by the calculation up to this point becomes the start address of the entry of the ID in the table. Then, while executing the arithmetic addition instruction to increment by 1
An instruction for writing a value from 02 to (7a02 + table size of each ID-1) to the prefetch address memory 595 is executed (arrows 7a08 to 7a09). Incidentally, FIG.
In the example shown in FIG. 1, the entry size for each ID number in the table is limited to 2 to the n-th power.
In order to suppress the circuit scale of 0, if a preprocessor has a multiplier, the product of the ID number and the entry size for each ID is calculated to calculate each entry even if it is an entry size other than 2 n. The top address of can be calculated.

【0042】次に、図12を参照して第2の方法につい
て説明する。第2の方法も第1の方法と同じく被処理デ
ータ中の情報を基にプリフェッチアドレスを計算する方
法であるが、第1の方法との相違点は、テーブルエント
リが使用中のIDのみにダイナミックに割り当てられて
いる、すなわち少数のテーブル領域をテーブル使用時に
動的に任意のコネクションIDに割り当て、未使用時は
テーブル領域を開放して他のコネクションIDが使用で
きるようなメモリマッピングの時のプリフェッチアドレ
スの計算方法例である。この場合も各IDのテーブルエ
ントリサイズは2のn乗とし、割り当てられたエントリ
番号(順位)に該当するCAM594のアドレスにコネ
クションIDが記録されているものとする。被処理デー
タが状態2に遷移するとプログラムが実行開始する。ま
ず状態2のバッファメモリ105中のID情報フィール
ドが含まれるワードを読み出す命令を実行する(図1
2、矢印7b10)。読み出した7b00中のID情報
フィールドを検索キーとしてCAM594の検索を行わ
せる命令を実行する。検索によりヒットしたアドレス7
b01をnビット左シフトする命令を実行する(矢印7
b12)。これ以降は第1の方法と同様である。すなわ
ち、予め外部CPUバス129よりワークメモリ593
に格納済みのテーブル先頭アドレスと7b02を算術加
算する命令を実行し(矢印7b13)、1つづつインク
リメンする算術加算命令を実行(矢印7b14から7b
15)、加算値7b03から、7b03+各IDのテー
ブルサイズ−1までの値をプリフェッチアドレスメモリ
595に書き込む命令を実行する。
Next, the second method will be described with reference to FIG. The second method is also a method of calculating the prefetch address based on the information in the data to be processed, like the first method. However, the difference from the first method is that only the ID that the table entry is using is dynamically changed. Prefetch at the time of memory mapping that allocates a small number of table areas to any connection ID dynamically when the table is used, and releases the table area when it is not used so that other connection IDs can be used. It is an example of an address calculation method. Also in this case, the table entry size of each ID is 2 to the n-th power, and the connection ID is recorded at the address of the CAM 594 corresponding to the assigned entry number (rank). When the processed data transits to the state 2, the program starts executing. First, an instruction to read the word including the ID information field in the buffer memory 105 in the state 2 is executed (FIG. 1).
2, arrow 7b10). A command to search the CAM 594 is executed using the read ID information field in 7b00 as a search key. Address 7 hit by the search
Execute an instruction that shifts b01 left by n bits (arrow 7
b12). The subsequent steps are similar to the first method. That is, the work memory 593 is previously stored in the external CPU bus 129.
The instruction for arithmetically adding the table start address already stored in 7b02 and 7b02 is executed (arrow 7b13), and the arithmetic addition instruction for incrementing one by one is executed (arrows 7b14 to 7b).
15) Execute an instruction to write values from the added value 7b03 to 7b03 + table size of each ID-1 to the prefetch address memory 595.

【0043】第3の方法はタイマーを使用した周期的な
プリフェッチアドレスの計算例である。すなわち、前述
の障害監視用セルの周期到着監視等、処理実行間隔に周
期性を持つ処理におけるプリフェッチアドレス計算で
は、プリプロセッサ部500にタイマーを内蔵すること
で、一定周期毎に特定のアドレス計算プログラムを実行
することによりプリフェッチアドレスを求め、プリフェ
ッチアドレスメモリ595に書き込む。
The third method is an example of calculating a periodic prefetch address using a timer. That is, in the prefetch address calculation in the process having the periodicity of the process execution intervals, such as the periodic arrival monitoring of the failure monitoring cell, the preprocessor unit 500 has a timer built therein so that a specific address calculation program can be executed every fixed period. The prefetch address is obtained by executing it and written in the prefetch address memory 595.

【0044】次にメモリアクセス部501の動作の詳細
について説明する。メモリアクセス部501の主な機能
は、プリプロセッサ部500が算出したプリフェッチア
ドレスに従い、主記憶メモリ112を読み出してプリフ
ェッチメモリA面597又はプリフェッチメモリB面5
98に格納することである。プリプロセッサ部500の
プログラム記述上の規則として、状態2のバッファメモ
リ105に格納された被処理データをプロセッサコア部
110が処理する際に必要な主記憶メモリ112のプリ
フェッチアドレスを総て計算し終わった後には必ずプリ
フェッチアドレス計算終了を意味する専用命令afin
を実行しなければならないこととしている。この専用命
令afinの実行により、メモリアクセス部501やプ
ロセッサコア部110に対して、プリフェッチアドレス
計算終了を知らせる信号、プリフェッチアドレス計算完
了通知が信号線526に出力される。これによりメモリ
アクセス部501のプリフェッチアクセス制御部596
は主記憶メモリ112読み出しのための処理を開始す
る。
Next, details of the operation of the memory access unit 501 will be described. The main function of the memory access unit 501 is to read the main storage memory 112 according to the prefetch address calculated by the preprocessor unit 500, and to read the prefetch memory A side 597 or the prefetch memory B side 5
98 to store. As a rule in the program description of the preprocessor unit 500, all the prefetch addresses of the main memory 112 necessary for the processor core unit 110 to process the processed data stored in the buffer memory 105 in the state 2 have been calculated. After that, a dedicated instruction afin, which always means the end of prefetch address calculation,
You have to do that. By executing this dedicated instruction afin, a signal notifying the end of prefetch address calculation and a notice of prefetch address calculation completion are output to the signal line 526 to the memory access unit 501 and the processor core unit 110. As a result, the prefetch access control unit 596 of the memory access unit 501
Starts the process for reading the main memory 112.

【0045】プリフェッチアクセス制御部596は、信
号線526よりプリフェッチアドレス計算完了通知を受
信すると、制御バス128を介して、主記憶メモリ11
2読み出しリクェストをバス制御部111に通知する。
バス制御部111はプロセッサコア部110からの読み
出し/書き込みリクェスト、及び、他の被処理データ処
理部108からのリクェストとの調停を行う。プリフェ
ッチアクセス制御部596は、バス制御部111からの
バス使用許可を受信するまでリクェスト信号を発出し続
ける。制御バス128を介してバス使用許可を受信する
と、プリフェッチアクセス制御部596は、アドレスバ
ス127に読み出しアドレス、制御バス128に読み出
し指示信号を乗せてバス制御部111に送り、バス制御
部111が主記憶メモリ112を読み出す。
Upon receiving the prefetch address calculation completion notification from the signal line 526, the prefetch access control unit 596 receives the main memory 11 via the control bus 128.
2 The bus controller 111 is notified of the read request.
The bus control unit 111 performs arbitration with a read / write request from the processor core unit 110 and a request from another processed data processing unit 108. The prefetch access control unit 596 continues to issue the request signal until it receives the bus use permission from the bus control unit 111. When the bus use permission is received via the control bus 128, the prefetch access control unit 596 sends a read address on the address bus 127 and a read instruction signal on the control bus 128 and sends the signal to the bus control unit 111. The storage memory 112 is read.

【0046】読み出されたデータは、データバス126
を介してプリフェッチメモリA面597、又はプリフェ
ッチメモリB面598に書き込まれる。図10を用いて
プリフェッチアドレスメモリ595、主記憶メモリ11
2、プリフェッチメモリA/B面597/598間のデ
ータの相関を説明する。プリフェッチアドレスメモリ5
95の1ワード(例えば図10、プリフェッチアドレス
メモリ595のN−3番地)を読み出し、プリフェッチ
アドレス602(内容1F00)を主記憶メモリ112
の読み出しアドレスとし(矢印573)所要データ’1
0FF0C24’を読出し、プリフェッチメモリ格納ア
ドレス601(内容13)をプリフェッチメモリ書き込
みアドレスとして(矢印532)主記憶装置から読み出
したデータを例えばプリフェッチメモリA面597の1
3番地に書き込む(矢印583)。リクェスト信号は、
プリプロセッサ部500で計算した総てのプリフェッチ
アドレスに対する読み出し要求が許可されるまで続けて
送出され、総てのプリフェッチアドレスの読み出しが完
了するまで、バス制御部111からのバス使用許可を得
て同様の読み出し処理が続けられる。プリフェッチメモ
リのA面597とB面598は、片方がプリフェッチし
たデータを格納している時は他方はプロセッサコア部1
10から値の参照が可能な状態になっている。この格納
状態と参照状態の切り換えはプリフェッチアクセス制御
部596を介してバッファメモリ状態管理部107が管
理しており、バッファメモリ状態管理部107は状態2
のバッファメモリ105が状態2から状態3に遷移する
タイミングに合わせて格納状態と参照状態を切り換える
ようプリフェッチアクセス制御部596を制御する。
The read data is sent to the data bus 126.
Via the prefetch memory A side 597 or the prefetch memory B side 598. The prefetch address memory 595 and the main storage memory 11 will be described with reference to FIG.
2. The correlation of data between the prefetch memory A / B planes 597/598 will be described. Prefetch address memory 5
1 word of 95 (for example, FIG. 10, N-3 address of the prefetch address memory 595) is read, and the prefetch address 602 (content 1F00) is stored in the main memory 112.
Read address (arrow 573) required data '1
0FF0C24 'is read and the prefetch memory storage address 601 (content 13) is used as the prefetch memory write address (arrow 532).
Write to address 3 (arrow 583). The request signal is
It is continuously transmitted until read requests for all prefetch addresses calculated by the preprocessor unit 500 are permitted, and the same use is obtained by obtaining bus use permission from the bus control unit 111 until reading of all prefetch addresses is completed. The reading process is continued. One of the A side 597 and the B side 598 of the prefetch memory stores the prefetched data while the other stores the processor core unit 1
The value can be referred to from 10. The switching between the storage state and the reference state is managed by the buffer memory status management unit 107 via the prefetch access control unit 596, and the buffer memory status management unit 107 manages the status 2
The prefetch access control unit 596 is controlled so as to switch between the storage state and the reference state at the timing when the buffer memory 105 of FIG.

【0047】次にプロセッサコア部110の構成を示す
図9のブロック図を参照してプロセッサコア部110の
詳細について説明する。プロセッサコア部110は命令
メモリ510、命令デコーダ511、演算処理/実行制
御部512、キューイングバッファ制御部513、キュ
ーイングバッファ514、ワークメモリ515を備えて
いる。状態3のバッファメモリ105に格納されている
被処理データに関するアプリケーション処理内容及び処
理手順は外部CPUバス129から命令メモリ510に
ダウンロードされ、命令デコーダ511は命令メモリ5
10の命令に応じた制御信号を出力し、演算処理/実行
制御部512は、命令デコーダ511からの指示によ
り、各種記憶資源に格納されているデータに対する算術
論理演算処理、分岐処理等のプログラム実行処理を行
い、処理途中のデータ等がワークメモリ515に一時的
に記憶される。主記憶メモリ112に処理結果を書き込
む際に実際のメモリアクセスまでの間、一時的に書き込
みアドレスと書き込みデータとはキューイングバッファ
514に格納される。キューイングバッファ514の読
み出し/書き込みはファーストイン・ファーストアウト
(FIFO)方式で行われるが、キューイングバッファ
制御部513はこの制御を行う。
Details of the processor core unit 110 will be described below with reference to the block diagram of FIG. 9 showing the configuration of the processor core unit 110. The processor core unit 110 includes an instruction memory 510, an instruction decoder 511, an arithmetic processing / execution control unit 512, a queuing buffer control unit 513, a queuing buffer 514, and a work memory 515. The application processing content and processing procedure relating to the data to be processed stored in the buffer memory 105 in the state 3 are downloaded from the external CPU bus 129 to the instruction memory 510, and the instruction decoder 511 is used for the instruction memory 5
The arithmetic processing / execution control unit 512 outputs a control signal in accordance with the ten instructions, and the arithmetic processing / execution control unit 512 executes programs such as arithmetic logic operation processing and branch processing on data stored in various storage resources according to an instruction from the instruction decoder 511. The processing is performed, and the data in the middle of the processing is temporarily stored in the work memory 515. The write address and the write data are temporarily stored in the queuing buffer 514 until the actual memory access when writing the processing result to the main memory 112. Reading / writing of the queuing buffer 514 is performed by a first-in first-out (FIFO) method, and the queuing buffer controller 513 performs this control.

【0048】被処理データが状態3に遷移するまでの
間、プロセッサコア部110のプログラム処理は実行停
止状態にある。バッファメモリ状態制御部107から信
号線123〜578を介してバッファメモリ105が状
態3に遷移したことの通知を受けると、プロセッサコア
部110は、状態3に遷移したバッファメモリ105上
に格納されている被処理データに対してアプリケーショ
ン処理の実行を開始する。プロセッサコア部110での
アプリケーション処理プログラム実行の際には、プリフ
ェッチ制御部109が予め主記憶メモリ112の内容を
読み出した値が以下に説明する機構により参照される。
Until the processed data transits to the state 3, the program processing of the processor core unit 110 is in the execution suspended state. Upon receiving a notification from the buffer memory state control unit 107 that the buffer memory 105 has transited to state 3 via the signal lines 123 to 578, the processor core unit 110 is stored in the buffer memory 105 that has transited to state 3. The execution of the application process is started for the existing processed data. When the application processing program is executed by the processor core unit 110, a value obtained by reading the contents of the main storage memory 112 by the prefetch control unit 109 in advance is referred to by a mechanism described below.

【0049】命令メモリ510から読み出した命令を解
読した結果、予めプリフェッチしたデータを参照する命
令であることが判ると、命令デコーダ511は信号線5
65〜130を介してプリフェッチ制御部109のプリ
フェッチアクセス制御部596にプリフェッチメモリ読
み出しアドレス及び読み出し指示を出力する。プリフェ
ッチアクセス制御部596は、この信号を受信すること
によりプリフェッチメモリアドレスを信号線537上に
出力する。このとき信号線533上のプリフェッチアド
レスメモリ検索ヒット通知の信号は、プリフェッチアド
レスメモリが検索処理を実行していないため論理「0」
となっており、信号線537はスイッチ599で信号線
531に接続され、プリフェッチメモリA/B面597
/598に入力される。また、プリフェッチメモリの参
照/設定の状態はプリフェッチアクセス制御部596に
より管理されており、プリフェッチメモリ読み出し指示
の信号線535/536のうち参照状態の方にだけ読み
出し指示信号が出力される。これによりプリフェッチメ
モリの内の参照状態にあるメモリが読み出され、データ
がデータ線541、又は542から出力される。信号線
544上の信号により2入力セレクタ599では参照状
態のメモリの出力を選択し、読み出されたデータは信号
線125を経由しプロセッサコア部内のデータバス56
4を介して参照される。
As a result of decoding the instruction read from the instruction memory 510, if it is found that the instruction refers to pre-fetched data, the instruction decoder 511 causes the signal line 5 to read.
The prefetch memory read address and the read instruction are output to the prefetch access control unit 596 of the prefetch control unit 109 via 65 to 130. The prefetch access control unit 596 outputs the prefetch memory address on the signal line 537 by receiving this signal. At this time, the signal of the prefetch address memory search hit notification on the signal line 533 is logic “0” because the prefetch address memory is not executing the search process.
The signal line 537 is connected to the signal line 531 by the switch 599, and the prefetch memory A / B surface 597
/ 598 is input. The reference / setting state of the prefetch memory is managed by the prefetch access control unit 596, and the read instruction signal is output only to the reference state of the prefetch memory read instruction signal lines 535/536. As a result, the memory in the reference state of the prefetch memory is read, and the data is output from the data line 541 or 542. The 2-input selector 599 selects the output of the memory in the reference state according to the signal on the signal line 544, and the read data is passed through the signal line 125 and the data bus 56 in the processor core unit.
Referenced via 4.

【0050】次に、プロセッサコア部110での主記憶
メモリ112へのデータを書き込む書き込み動作につい
て説明する。主記憶メモリへの書き込みは、プロセッサ
コア部110のプログラム命令に従って実行される。主
記憶メモリ112への書き込み命令が命令メモリ510
から読み出され、命令デコーダ511によって解読さ
れ、命令の内容が演算処理/実行制御部512に伝えら
れると、演算処理/実行制御部512は信号線563に
主記憶メモリ112の書き込みアドレス、部内データバ
ス564に書き込みデータ、信号線562に書き込み指
示を出力する。キューイングバッファ制御部513はキ
ューイングバッファ514の書き込み制御を行い、信号
線579を介してキューイングバッファ514の書き込
みアドレス及び書き込み指示を出力する。これらによ
り、演算処理/実行制御部512から出力された主記憶
メモリ112書き込みアドレスと書き込みデータがキュ
ーイングバッファ514に書き込まれる。キューイング
バッファ制御部513のアドレス管理はFIFO方式で
あり、前回の主記憶メモリ書き込み命令によって書き込
まれたアドレスの次アドレスに次の主記憶メモリ112
書き込み命令の情報を書き込む。
Next, the write operation for writing data in the main memory 112 in the processor core unit 110 will be described. Writing to the main storage memory is executed according to a program instruction of the processor core unit 110. The write instruction to the main memory 112 is the instruction memory 510.
When the contents of the instruction are transmitted to the arithmetic processing / execution control unit 512, the arithmetic processing / execution control unit 512 causes the signal line 563 to write the write address of the main memory 112 and internal data. Write data is output to the bus 564 and a write instruction is output to the signal line 562. The queuing buffer control unit 513 controls the writing of the queuing buffer 514, and outputs the write address and the write instruction of the queuing buffer 514 via the signal line 579. As a result, the write address and write data of the main memory 112 output from the arithmetic processing / execution control unit 512 are written in the queuing buffer 514. The address management of the queuing buffer control unit 513 is a FIFO method, and the next main storage memory 112 is added to the address next to the address written by the previous main storage memory write command.
Write the information of the write command.

【0051】キューイングバッファ513に書き込まれ
た主記憶メモリ112の書き込みアドレス及び書き込み
データは、書き込み処理開始のトリガが掛かるまではキ
ューイングバッファ513に保持され、主記憶メモリ1
12への書き込み処理は保留されている。主記憶メモリ
112への書き込み処理は以下に説明する2種類のトリ
ガのいずれかが発生したときに開始される。第1はプリ
フェッチアドレス計算終了を意味する専用命令afin
の発行である。この命令の発行によりプリフェッチ制御
部109の命令デコーダ591が専用命令afinをデ
コードし、信号線526〜124上にプリフェッチアド
レス計算完了通知を乗せてキューイングバッファ制御部
513に通知した時、キューイングバッファ制御部51
3は信号線567〜制御バス128を介してバス制御部
111に対し非優先書き込みリクェストを発出する。第
2はプロセッサコア部110でのプログラム処理終了を
通知する専用命令finの発行である。この命令の発行
により命令デコーダ511が専用命令finをデコード
し、信号線570に被処理データ処理終了通知を発出す
る。信号線570から被処理データ処理終了通知を受信
したキューイングバッファ制御部513は、信号線56
7〜制御バス128を介してバス制御部111に対し優
先書き込みリクェストを発出する。書き込みリクェスト
における優先/非優先に関しては後節で説明する。
The write address and the write data of the main memory 112 written in the queuing buffer 513 are held in the queuing buffer 513 until the write processing start trigger is applied, and the main memory 1
The write processing to 12 is suspended. The writing process to the main memory 112 is started when one of the two types of triggers described below occurs. The first is a dedicated instruction afin that means the end of prefetch address calculation.
Is issued. When the instruction decoder 591 of the prefetch control unit 109 decodes the dedicated instruction afin by issuing this instruction and puts a prefetch address calculation completion notice on the signal lines 526 to 124 to notify the queuing buffer control unit 513, the queuing buffer Control unit 51
3 issues a non-priority write request to the bus control unit 111 via the signal line 567 to the control bus 128. The second is the issue of a dedicated instruction fin for notifying the end of the program processing in the processor core unit 110. By issuing this instruction, the instruction decoder 511 decodes the dedicated instruction fin, and issues a processed data processing end notification to the signal line 570. The queuing buffer control unit 513 which has received the processed data processing end notification from the signal line 570
7 to issue a priority write request to the bus control unit 111 via the control bus 128. The priority / non-priority in the write request will be described in the later section.

【0052】これら2つの書き込み処理の開始トリガの
うちのどれかが発生すると、キューイングバッファ制御
部513は信号線567を介しバス制御部111に対し
主記憶メモリ112書き込みリクェストを通知する。バ
ス制御部111はこのリクェストに対し、プリフェッチ
制御部109からの読み出しリクェスト、プロセッサコ
ア部110からの読み出しリクェスト、及び他の被処理
データ処理回路108からの各リクェストとの調停を行
う。キューイングバッファ制御部513は、バス制御部
111からのバス使用許可を受信するまでリクェスト信
号を発出し続ける。制御バス128を介しバス使用許可
を受信したキューイングバッファ制御部513は、キュ
ーイングバッファ514を読み出して、以前プロセッサ
コア部110のプログラム命令によって書き込まれ、実
行が留保されていた書き込みアドレス及び書き込みデー
タの1組をFIFO方式で読み出す。読み出された情報
に従ってデータバス126に書き込みデータ、アドレス
バス127に書き込みアドレス、制御バス128に書き
込み指示信号が出力される。バス制御部111はデータ
バス126上のデータを主記憶メモリ112のアドレス
バス上のアドレスで示されるアドレス位置へ書き込む。
主記憶メモリ書き込みリクェストは、キューイングバッ
ファ514上の書き込み保留データがなくなるまで発出
され、制御バス128を介してバス使用許可を得ながら
同様の処理が繰り返される。
When any of these two write process start triggers occurs, the queuing buffer control unit 513 notifies the bus control unit 111 of the main memory 112 write request via the signal line 567. The bus control unit 111 arbitrates the request from the read request from the prefetch control unit 109, the read request from the processor core unit 110, and each request from other processed data processing circuits 108. The queuing buffer control unit 513 continues to issue the request signal until it receives the bus use permission from the bus control unit 111. The queuing buffer control unit 513, which has received the bus use permission via the control bus 128, reads the queuing buffer 514, and the write address and the write data which were previously written by the program instruction of the processor core unit 110 and whose execution was reserved. Is read by the FIFO method. According to the read information, write data is output to the data bus 126, a write address is output to the address bus 127, and a write instruction signal is output to the control bus 128. The bus control unit 111 writes the data on the data bus 126 to the address position indicated by the address on the address bus of the main memory 112.
The main memory memory write request is issued until there is no write pending data on the queuing buffer 514, and the same processing is repeated while permitting bus use via the control bus 128.

【0053】次にプロセッサコア部110のプログラム
命令による主記憶メモリの読み出しについて説明する。
本発明の装置では、主記憶メモリ112の読み出しの多
くは、プリフェッチ制御部109によるプリフェッチ動
作により状態2において行われるが、プロセッサコア部
110でのプログラム処理結果からでないと読み出すべ
きデータのアドレスが特定できない場合も存在する。従
って、プロセッサコア部110からのプログラム命令に
よる主記憶メモリ112の読み出しが必要になる。主記
憶メモリ112への読み出し命令が命令メモリ510か
ら読み出され、それを命令デコーダ511が解読する
と、信号線567〜制御バス128を介してバス制御部
111にプログラム命令による主記憶メモリ読み出しリ
クェストが送出される。バス制御部111はこのリクェ
ストに対し調停を行う。制御バス128を介しバス使用
許可が出力されると、命令デコーダ511は信号線56
6に読み出しアドレスを、信号線567に読み出し指示
を出力し、バス制御部111は主記憶メモリを読み出
す。読み出されたデータはデータバス126からデータ
線582を介してプロセッサコア部110の部内のデー
タバス564に出力され各種プログラム命令により参照
される。
Next, reading of the main storage memory by the program instruction of the processor core unit 110 will be described.
In the device of the present invention, most of the reading of the main memory 112 is performed in the state 2 by the prefetch operation by the prefetch control unit 109, but the address of the data to be read is specified only from the program processing result in the processor core unit 110. There are cases where you cannot. Therefore, it is necessary to read the main memory 112 by the program instruction from the processor core unit 110. When the read instruction to the main memory 112 is read from the instruction memory 510 and the instruction decoder 511 decodes the read instruction, the main memory read request by the program instruction is issued to the bus control unit 111 via the signal line 567 to the control bus 128. Sent out. The bus control unit 111 arbitrates for this request. When the bus use permission is output through the control bus 128, the instruction decoder 511 outputs the signal line 56.
6, a read address is output, a read instruction is output to the signal line 567, and the bus control unit 111 reads the main memory. The read data is output from the data bus 126 via the data line 582 to the data bus 564 in the processor core unit 110 and referred to by various program instructions.

【0054】以上説明したように被処理データ処理回路
108から主記憶メモリ112に対しては、次の3箇所
からアクセス要求が発出される。第1はプリフェッチ制
御部109からのプリフェッチアクセス要求、第2はプ
ロセッサコア部110からの書き込み要求、第3はプロ
セッサコア部110からの読み出し要求である。バス制
御部111は被処理データ処理回路108のそれぞれに
ついて、これら3箇所からの要求の調停を行う。以下
に、バス制御部111におけるこれら3箇所からのアク
セスの調停の詳細について図3〜図6の各タイミングチ
ャート及び図7のフローチャートを参照して説明する。
As described above, access requests are issued from the processed data processing circuit 108 to the main memory 112 from the following three locations. The first is a prefetch access request from the prefetch control unit 109, the second is a write request from the processor core unit 110, and the third is a read request from the processor core unit 110. The bus control unit 111 arbitrates requests from these three locations for each of the processed data processing circuits 108. Details of access arbitration from these three locations in the bus control unit 111 will be described below with reference to the timing charts of FIGS. 3 to 6 and the flowchart of FIG. 7.

【0055】上記の3箇所からのアクセスはいずれもプ
ロセッサコア部110でのプログラム処理において必要
となるデータに対する読み書きである。これら3箇所か
らの主記憶メモリ112へのアクセスタイミングは、プ
ロセッサコア部110からの読み出しを除いて、プロセ
ッサコア部110のプログラム処理とタイミングが同期
していない。一般に、読み出し命令によって直ちにメモ
リを読み出し、書き込み命令によって直ちに書き込みが
行われるメモリ制御方法では、プログラムで指定した手
順通りに読み書きが行われるため、誤って古いデータを
読んだり、新しいデータの上に古いデータを上書きする
心配はない。しかし、プリフェッチ制御部109が主記
憶メモリ112の読み出しを行ったり、プロセッサコア
部110での主記憶メモリ112への書き込みが一旦キ
ューイグバッファ514に格納されてから書き込まれる
ような本発明が採用しているアクセス方法では、誤って
古いデータを読んだり、古いデータを書き込むことがな
いように、何らかの方法により保証する必要が生じる。
このことを以後データの一貫性保証ということにする。
以下、図1及び図3を用いて、一貫性保証の考慮をしな
いで3箇所からのアクセスが行われた場合に生じる3つ
の不都合について説明する。
The access from the above-mentioned three locations is for reading and writing data required for the program processing in the processor core unit 110. The access timings to the main storage memory 112 from these three locations are not synchronized with the program processing of the processor core unit 110 except for the reading from the processor core unit 110. Generally, in the memory control method in which the read command immediately reads the memory and the write command immediately writes the data, the read / write is performed according to the procedure specified in the program, so that the old data is read accidentally or the old data is written on top of the new data. There is no need to worry about overwriting data. However, the present invention is adopted such that the prefetch control unit 109 reads the main memory 112, or the writing to the main memory 112 in the processor core unit 110 is once stored in the queuing buffer 514 and then written. In the access method that is used, it is necessary to guarantee by some method so that the old data cannot be accidentally read or the old data cannot be written.
This is hereinafter referred to as data consistency guarantee.
Hereinafter, with reference to FIG. 1 and FIG. 3, three inconveniences that occur when access is made from three locations without considering the consistency guarantee will be described.

【0056】図3は被処理データa及びbの処理におけ
るプリフェッチ制御部109及びプロセッサコア部11
0からの主記憶メモリ112アクセスの競合の一例を示
すタイミングチャートである。図3の例では、時刻T1
においてプリフェッチ制御部109が後にプロセッサコ
ア部110が被処理データaを処理するのに必要となる
3ワードのプリフェッチアドレスapf1〜apf3の
計算が終了した時点で命令デコーダ591がプリフェッ
チアドレス計算終了を通知する専用命令afinを解読
している。この専用命令がプリフェッチのトリガとな
り、プリフェッチ制御部109はリクェスト信号を制御
バス128を介してバス制御部111に送る。バス制御
部111はバス使用の調停を行い、プリフェッチ制御部
109は制御バス128を介してバス使用許可を受信す
ると、アドレスバス127に読み出しアドレス、制御バ
ス128に読み出し指示信号を送出し、バス制御部11
1が主記憶メモリ112を読み出す。以上の手続きによ
り時刻T1直後から主記憶メモリ112のプリフェッチ
アドレスapf1〜apf3を読み出している。図3に
おいてアドレスapf1とapf2の間が空いているの
は、他の被処理データ処理回路108からのアクセスが
優先されて、アドレスapf2へのアクセスが待ち状態
になっていることを意味する。
FIG. 3 shows the prefetch control unit 109 and the processor core unit 11 in the processing of the processed data a and b.
5 is a timing chart showing an example of contention for access to the main memory 112 from 0. In the example of FIG. 3, time T1
At the time when the prefetch control unit 109 finishes calculating the 3-word prefetch addresses apf1 to apf3 required for the processor core unit 110 to process the processed data a later, the instruction decoder 591 notifies the prefetch address calculation end. Decoding the dedicated instruction afin. This dedicated instruction serves as a trigger for prefetch, and the prefetch control unit 109 sends a request signal to the bus control unit 111 via the control bus 128. The bus control unit 111 arbitrates the bus use, and when the prefetch control unit 109 receives the bus use permission via the control bus 128, it sends a read address to the address bus 127 and a read instruction signal to the control bus 128 to control the bus. Part 11
1 reads out the main memory 112. With the above procedure, the prefetch addresses apf1 to apf3 of the main memory 112 are read immediately after time T1. The space between the addresses apf1 and apf2 in FIG. 3 means that the access from the other processed data processing circuit 108 is prioritized and the access to the address apf2 is in a waiting state.

【0057】ここで、図3の様に、時刻T2において、
プリフェッチ制御部109が被処理データaに対する処
理終了を意味する専用命令pfinを実行して、状態3
への遷移待ちであることを、バッファメモリ状態制御部
107に通知したとする。バッファメモリ状態制御部1
07は直ちに被処理データaが格納されているバッファ
メモリ105を状態2から状態3に遷移させ、プロセッ
サコア部110が被処理データaの処理を開始し、図3
の例では時刻T3においてプロセッサコア部110で
は、プリフェッチ制御部109がプリフェッチするアド
レスapf3の内容を参照する命令apf3readが
実行されている。しかしこの時プリフェッチ制御部10
9では、アドレスapf3の読み出しが完了していな
い。従ってプロセッサコア部110がこのまま構わずプ
リフェッチメモリA面597/B面598を読んでしま
うと誤った値を読んでしまい、主記憶メモリ上のデータ
の一貫性が取れなくなる。
Here, as shown in FIG. 3, at time T2,
The prefetch control unit 109 executes the dedicated instruction pfin that means the end of processing for the data to be processed a, and the status 3
It is assumed that the buffer memory state control unit 107 is notified that it is waiting for the transition to. Buffer memory status controller 1
07 immediately shifts the buffer memory 105 in which the processed data a is stored from the state 2 to the state 3, and the processor core unit 110 starts processing the processed data a.
In the example, at time T3, the processor core unit 110 executes the instruction apf3read that refers to the content of the address apf3 prefetched by the prefetch control unit 109. However, at this time, the prefetch control unit 10
In 9, the reading of the address apf3 is not completed. Therefore, if the processor core unit 110 reads the prefetch memory A side 597 / B side 598 regardless of the state as it is, an incorrect value is read, and the consistency of the data in the main memory cannot be obtained.

【0058】引き続き図3を参照し、第2の不都合の点
に関して説明する。時刻T4、T5においてプロセッサ
コア部110は、被処理データaに関し書き込み命令a
w1、aw2を実行している。また、時刻T6において
プリフェッチ制御部109は後にプロセッサコア部11
0が被処理データbを処理するのに必要となる3ワード
のプリフェッチアドレスbpf1〜bpf3の計算が終
了したことを通知する専用命令afinを実行してい
る。この専用命令がプリフェッチのトリガとなり、リク
ェスト信号を制御バス128を介してバス制御部111
に送る。バス制御部111はバス使用の調停を行い、プ
リフェッチ制御部109は制御バス128を介してバス
使用許可を受信すると、アドレスバス127に読み出し
アドレスbpf1〜3、制御バス128に読み出し指示
信号を送出し、バス制御部111が主記憶メモリ112
のプリフェッチアドレスbpf1、bpf2を読み出
す。さらに時刻T7においてプロセッサコア部110が
被処理データaに関し書き込み命令aw3を実行し、図
3の例では、アドレスbpf3へのアクセスより、プロ
セッサコア部110からアドレスaw3への書き込みの
ためのアクセスが優先され実行されている。このように
プリフェッチ制御部109からの読み出しのためのアク
セスと平行して、プロセッサコア部110では被処理デ
ータaに対する処理が行われており、時刻T4、T5、
T7、T8及びT9においてaw1、aw2、aw3、
aw4及びaw5への書き込み命令が発行され、バス制
御部111におけるバス調停でバスが獲得されて主記憶
メモリ112への書き込みが行われている。
The second disadvantage will be described with reference to FIG. At times T4 and T5, the processor core unit 110 writes a write command a for the processed data a.
w1 and aw2 are executed. In addition, at time T6, the prefetch control unit 109 causes the processor core unit 11 to
0 executes the dedicated instruction afin for notifying that the calculation of the prefetch addresses bpf1 to bpf3 of 3 words necessary for processing the data to be processed b has been completed. This dedicated instruction serves as a trigger for prefetching, and the request signal is transmitted via the control bus 128 to the bus control unit 111.
Send to. The bus control unit 111 arbitrates the bus use, and when the prefetch control unit 109 receives the bus use permission via the control bus 128, it sends the read addresses bpf1 to 3 to the address bus 127 and the read instruction signal to the control bus 128. , The bus control unit 111 is the main memory 112
The prefetch addresses bpf1 and bpf2 of are read. Further, at time T7, the processor core unit 110 executes the write command aw3 for the processed data a, and in the example of FIG. 3, the access for writing from the processor core unit 110 to the address aw3 has priority over the access to the address bpf3. And is running. In this way, in parallel with the access for reading from the prefetch control unit 109, the processor core unit 110 is processing the data a to be processed at times T4, T5,
At T7, T8, and T9, awl, aw2, aw3,
A write command is issued to aw4 and aw5, a bus is acquired by bus arbitration in the bus control unit 111, and writing to the main memory 112 is performed.

【0059】ここで、主記憶メモリ112上のデータの
一貫性を考えたとき、被処理データbの処理のためにプ
リフェッチしたアドレスbpf1〜3のデータは、常に
被処理データbの1つ前の被処理データである被処理デ
ータaに対する処理結果を反映したデータを読み出して
いる必要がある。だが、もし仮に、プリフェッチするア
ドレスと同じアドレスに対して、プリフェッチアクセス
より後に書き込みが実行された場合、例えば図3のbp
f3とaw4が同一アドレスである場合、プロセッサコ
ア部110で被処理データを処理する際、1つ前の被処
理データの処理結果が反映されたデータを使うことが出
来なくなり、主記憶メモリ112上のデータの一貫性が
取れなくなる。
Here, considering the consistency of the data in the main memory 112, the data at the addresses bpf1 to 3 prefetched for the processing of the processed data b is always one before the processed data b. It is necessary to read the data that reflects the processing result for the processed data a that is the processed data. However, if a write is executed after the prefetch access to the same address as the prefetch address, for example, bp in FIG.
When f3 and aw4 have the same address, when the processed data is processed by the processor core unit 110, the data in which the processing result of the immediately preceding processed data is reflected cannot be used, and the main storage memory 112 cannot be used. The data will be inconsistent.

【0060】更に続いて図3を参照し、第3の不都合に
就いて説明する。図3の時刻T10において被処理デー
タaに対するプロセッサコア部110でのプログラム処
理が終了し、専用命令finを実行することで、被処理
データaに対する処理終了が信号線578〜123を介
してバッファメモリ状態制御部107に通知されたとす
る。バッファメモリ状態制御部107は直ちに被処理デ
ータaが格納されているバッファメモリ105を状態3
から状態4に遷移させ、出力制御回路106で処理済み
データaの出力処理を行う。その直後に被処理データb
が格納されているバッファメモリ105が状態2から状
態3へ遷移し、プロセッサコア部110は被処理データ
bに対する処理を開始し、図3の例では時刻T11で被
処理データbに関してアドレスaw5のデータがプロセ
ッサコア部110のプログラム命令によって読み出され
ている。アドレスaw5は、T9においてプロセッサコ
ア部110が被処理データaの処理結果として書き込み
命令を発行したアドレスである。従って例えば図3の例
のように時刻T12において、読み出しが行われた後、
時刻T13において書き込みが行われると、プロセッサ
コア部110では、被処理データaの処理結果を反映し
て被処理データbの処理が出来なくなり、主記憶メモリ
112上データの一貫性が取れなくなる。
Next, the third disadvantage will be described with reference to FIG. At time T10 in FIG. 3, the program processing in the processor core unit 110 for the data to be processed a is completed and the dedicated instruction fin is executed, so that the processing for the data to be processed a is completed via the signal lines 578 to 123 in the buffer memory. It is assumed that the state control unit 107 is notified. The buffer memory state control unit 107 immediately sets the buffer memory 105 in which the processed data a is stored to the state 3
To state 4 and the output control circuit 106 outputs the processed data a. Immediately after that, the processed data b
The buffer memory 105 in which is stored transits from state 2 to state 3, the processor core unit 110 starts processing the processed data b, and in the example of FIG. Are read by a program instruction of the processor core unit 110. The address aw5 is an address to which the processor core unit 110 issues a write command as a processing result of the processed data a at T9. Therefore, for example, as shown in the example of FIG. 3, after the reading is performed at time T12,
When the writing is performed at the time T13, the processor core unit 110 cannot process the processed data b by reflecting the processing result of the processed data a, and the data in the main memory 112 cannot be consistent.

【0061】本発明では、以上説明した3種類の不都合
に対し以下に示す3点の対策により主記憶メモリ112
上のデータの一貫性を保証している。以下、3点の対策
について、図3のタイミングチャートに対応して図4に
示す対策後のタイミングチャートを参照して説明する。
In the present invention, the main storage memory 112 is provided with the following three measures against the above-mentioned three types of inconveniences.
Guarantees the consistency of the above data. The three measures will be described below with reference to the timing chart after the measures shown in FIG. 4 corresponding to the timing chart of FIG.

【0062】対策の第1点として、プリフェッチアクセ
ス制御部569におけるプリフェッチアクセスの完了を
状態2から状態3への遷移条件とした。図3において
は、被処理データaの状態2から状態3への遷移タイミ
ングは、時刻T2での被処理データaに対するプリフェ
ッチ制御部109での処理終了を通知する専用命令pf
in実行時であった。従って、被処理データbが状態3
に遷移した時刻におけるapf1〜apf3へのプリフ
ェッチアクセス完了が保証されていない。図3の例のよ
うに時刻T3で予めプリフェッチされているべきアドレ
スapf3のデータを読もうとしたときプリフェッチア
クセス未完了の場合が考えられ、誤って古いデータを読
んでしまう可能性がある。そこで、本発明では被処理デ
ータaの状態2から状態3への遷移条件を、プリフェッ
チ制御部109での処理終了を通知する専用命令pfi
nの実行に加え、プリフェッチメモリアクセス完了の条
件を加え、この両方の条件を満足したときにに状態2か
ら状態3への遷移ができるようにした。図4の例では時
刻T2にpfin命令が実行されているが、この後に起
こるプリフェッチアクセス完了の時点(矢印301)で
被処理データaの状態2から状態3への遷移が行われて
いる。このことにより、被処理データaが状態3へ遷移
した時点ではプリフェッチアクセスが必ず完了している
ことになり、例えば直後の時刻T3でプロセッサコア部
110がapf3を参照するapf3readを行って
も主記憶メモリ112データの一貫性が保証される。
As the first point of the countermeasure, the completion of prefetch access in the prefetch access control unit 569 is set as the transition condition from the state 2 to the state 3. In FIG. 3, the transition timing from the state 2 to the state 3 of the processed data a is the dedicated instruction pf for notifying the end of processing by the prefetch control unit 109 for the processed data a at time T2.
It was run-in. Therefore, the processed data b is in the state 3
Completion of prefetch access to apf1 to apf3 at the time of transition to is not guaranteed. As in the example of FIG. 3, when trying to read the data at the address apf3 that should have been prefetched at time T3, the prefetch access may be incomplete, and the old data may be erroneously read. Therefore, in the present invention, the dedicated instruction pfi for notifying the transition condition of the processed data a from the state 2 to the state 3 in the prefetch control unit 109 is notified.
In addition to the execution of n, the condition for prefetch memory access completion is added, and the transition from the state 2 to the state 3 is made possible when both of these conditions are satisfied. In the example of FIG. 4, the pfin instruction is executed at time T2, but the transition from state 2 to state 3 of the data to be processed a is performed at the time of completion of prefetch access (arrow 301) that occurs thereafter. As a result, the prefetch access is always completed when the processed data a transits to the state 3, and even if the processor core unit 110 performs apf3read referring to apf3 at time T3 immediately after, for example, the main memory. Memory 112 data consistency is guaranteed.

【0063】対策の第2点として、キューイングバッフ
ァ制御部513が行うキューイングバッファ514の内
容の主記憶メモリ112への書き込み完了を状態3から
状態4への遷移条件とした。被処理データaが状態3か
ら状態4に遷移するタイミングは図3では時刻T10で
の被処理データaに対するプロセッサコア部110での
処理終了を通知する専用命令finの実行時であった。
この方法では被処理データbが状態3に遷移した時点
で、プロセッサコア部110での被処理データaに対す
る処理結果書き込み完了が保証されていない。図3のよ
うに時刻T11でaw5を読み出そうとした時、被処理
データaの処理結果書き込み未完了の場合が起こり得
る。本発明では、被処理データaが状態3から状態4に
遷移する条件を、プロセッサコア部110の処理終了を
通知する専用命令finの実行の条件に、プロセッサコ
ア部110からの書き込み完了の条件を加え、この両条
件を満足したときに被処理データaが状態3から状態4
に遷移するようにした。従って、プロセッサコア部11
0が新規被処理データbの処理を開始した時点には、前
被処理データaの書き込み処理の完了が保証される。
As a second countermeasure, the completion of writing the contents of the queuing buffer 514 to the main memory 112 performed by the queuing buffer control unit 513 is set as the transition condition from state 3 to state 4. In FIG. 3, the timing at which the processed data a transits from the state 3 to the state 4 is at the time of execution of the dedicated instruction fin for notifying the processing end of the processed data a at the time T10 in the processor core unit 110.
In this method, the completion of writing the processing result to the processed data a in the processor core unit 110 is not guaranteed when the processed data b transits to the state 3. As shown in FIG. 3, when attempting to read aw5 at time T11, there may be a case where the processing result writing of the processed data a has not been completed. In the present invention, the condition for transition of the processed data a from the state 3 to the state 4 is set as the condition for executing the dedicated instruction fin for notifying the end of processing of the processor core unit 110 and the condition for the completion of writing from the processor core unit 110. In addition, when both of these conditions are satisfied, the processed data a changes from the state 3 to the state 4
I made a transition to. Therefore, the processor core unit 11
When 0 starts processing the new processed data b, the completion of the write processing of the pre-processed data a is guaranteed.

【0064】対策の第3点は、バス調停アルゴリズムの
動的管理と主記憶メモリ書き込み時のアドレス監視であ
る。先に第2の不都合として説明したように、図3の例
では新規被処理データbのプリフェッチアドレスbpf
3と前被処理データaの書き込みアドレスaw4が同一
アドレスであった場合、被処理データbがプロセッサコ
ア部110での処理の際に参照されるプリフェッチアド
レスbpf3のデータは時刻T14でプリフェッチされ
た、書き込みアドレスaw4への書き込み前のデータで
あった。本来なら被処理データaに対する処理結果とし
て時刻T15に書き込まれたデータを参照しなければな
らないのに、これでは古いデータを参照して処理するこ
とになってしまう。従って本発明では、以下のようにバ
ス制御部111でのバス調停アルゴリズムの動的管理を
行うと共に、プロセッサコア部110からの書き込み処
理時において書き込みアドレスの監視を行い、既にプリ
フェッチしたデータについては主記憶メモリ112と同
期してプリフェッチメモリ597/598を更新するこ
とにより主記憶メモリ112のデータの一貫性を保証す
る。
The third countermeasure is dynamic management of the bus arbitration algorithm and address monitoring at the time of writing to the main memory. As described above as the second inconvenience, in the example of FIG. 3, the prefetch address bpf of the new processed data b is used.
3 and the write address aw4 of the preprocessed data a are the same address, the data of the prefetch address bpf3 referred to when the processed data b is processed by the processor core unit 110 was prefetched at time T14. The data was before writing to the write address aw4. Originally, it is necessary to refer to the data written at the time T15 as the processing result for the data to be processed a, but in this case, the old data is referred to and processed. Therefore, in the present invention, the bus control unit 111 dynamically manages the bus arbitration algorithm as described below, and the write address is monitored during the write processing from the processor core unit 110. Updating the prefetch memory 597/598 in synchronization with the storage memory 112 ensures the consistency of the data in the main storage memory 112.

【0065】すなわち、当該被処理データに関する書き
込みと次被処理データに関するプリフェッチの混在を防
ぐため、バス制御部111では、プリフェッチ制御部1
09からのプリフェッチリクェストとプロセッサコア部
110からのデータ書き込みリクェスト間の調停に際し
て、一旦プリフェッチ制御部109からのプリフェッチ
アクセス(読み出し)に対してバス使用許可を発出する
と、プリフェッチアドレスメモリ595に予約された全
ワードのアクセスを完了するまでは、プロセッサコア部
110からの書き込み要求より優先度の高い要求として
処理する。また、反対に、一旦プロセッサコア部110
からの書き込み要求に対してバス使用許可を発出する
と、キューイングバッファ514からの主記憶メモリ1
12への書き込みが完了するまでプリフェッチアクセス
より優先度の高い要求として処理する。
That is, in order to prevent the writing of the data to be processed and the prefetching of the next data to be processed from intermingling, the bus control unit 111 includes the prefetch control unit 1
In the arbitration between the prefetch request from 09 and the data write request from the processor core unit 110, once the bus use permission is issued for the prefetch access (read) from the prefetch control unit 109, it is reserved in the prefetch address memory 595. Until the access of all words is completed, it is processed as a request having a higher priority than the write request from the processor core unit 110. On the contrary, once the processor core unit 110
When a bus use permission is issued in response to a write request from the main storage memory 1 from the queuing buffer 514.
Until the writing to 12 is completed, it is processed as a request having a higher priority than the prefetch access.

【0066】さらに、本発明ではプロセッサコア部11
0からの書き込みアドレスを監視する機能を備えた。す
なわち、上記バス調停アルゴリズムにより次被処理デー
タに関するプリフェッチが優先された場合には、当該被
処理データに関するプロセッサコア部110からの書き
込み処理時に、その書き込みアドレスの中に、次被処理
データの処理用にプリフェッチしてあるプリフェッチア
ドレスと一致するものがないかどうかの検索を行い、検
索の結果一致しているアドレスがあった場合には、主記
憶メモリ112に書き込むと同時に、該当アドレスのデ
ータが既に読出され格納されているプリフェッチメモリ
(A面/B面)597/598を書き込みデータで更新
することにより、プロセッサコア部110での被処理デ
ータのデータ処理において、直前までの被処理データ処
理結果が反映されたデータを参照できるようにした。こ
の機構はプリフェッチアクセスが優先的に処理される時
にだけ活性化される機構であって、上記調停アルゴリズ
ムにより書き込み処理が優先的に処理される場合は、書
き込み後の主記憶メモリ112上のデータがプリフェッ
チされるためこのようなアドレス監視・更新処理は不要
となる。
Further, in the present invention, the processor core unit 11
It has a function to monitor the write address from 0. That is, when the prefetch for the next processed data is prioritized by the bus arbitration algorithm, during the write processing of the processed data from the processor core unit 110, the processing address of the next processed data is included in the write address. If there is a matching address as a result of the search, the main memory 112 is written and at the same time the data of the corresponding address is By updating the read and stored prefetch memory (A side / B side) 597/598 with the write data, in the data processing of the processed data in the processor core unit 110, the processed data processing results up to immediately before are processed. Enabled to refer to the reflected data. This mechanism is activated only when prefetch access is preferentially processed. When the write process is preferentially processed by the arbitration algorithm, the data in the main memory 112 after the write is Since it is prefetched, such address monitoring / updating process becomes unnecessary.

【0067】以上に説明した2点を考慮した場合の動作
の詳細について以下に説明する。この動作は専用命令a
fin(プリフェッチ制御部109から発出され、主記
憶メモリ112アクセス開始のトリガとなる)か専用命
令fin(プロセッサコア部110から発出される)の
どちらが先に発出されたかにより異なるので、以下では
これら2つの場合について別々に説明する。
The details of the operation when the above-mentioned two points are taken into consideration will be described below. This operation is a dedicated instruction a
Since it depends on whether fin (issued from the prefetch control unit 109 and triggering the start of access to the main memory 112) or dedicated instruction fin (issued from the processor core unit 110) is issued first, these 2 The two cases will be explained separately.

【0068】最初に専用命令afinが先着した場合の
動作を図4及び図8、図9により説明し、その後図7を
参照してこの場合のバス調停アルゴリズムについて説明
する。図4の時刻T4及びT5においてプロセッサコア
部110から主記憶メモリ112の書き込み命令が発行
されている(aw1、aw2)が、その実行は開始トリ
ガが発生するまで留保される。この時の動作を図9で説
明すると、命令メモリ510の命令を命令デコーダ51
1が解読した結果、主記憶メモリ112への書き込み命
令であることが解ると、命令デコーダ511はその結果
を信号線561を介して演算処理/実行制御部512に
伝える。演算処理/実行制御部512は信号線563を
介して主記憶メモリ書き込みアドレスを、また内部バス
564を介して主記憶メモリ書き込みデータをそれぞれ
キューイングバッファ514に出力する。
The operation when the dedicated instruction afin arrives first will be described with reference to FIGS. 4, 8 and 9 and then the bus arbitration algorithm in this case will be described with reference to FIG. At times T4 and T5 in FIG. 4, a write command for the main memory 112 is issued from the processor core unit 110 (aw1, aw2), but its execution is suspended until the start trigger occurs. The operation at this time will be described with reference to FIG.
As a result of decoding by No. 1, when it is found that the instruction is a write instruction to the main memory 112, the instruction decoder 511 transmits the result to the arithmetic processing / execution control unit 512 via the signal line 561. The arithmetic processing / execution control unit 512 outputs the main memory write address to the queuing buffer 514 via the signal line 563 and the main memory write data to the queuing buffer 514 via the internal bus 564.

【0069】同時に信号線562を介して書き込み指示
がキューイングバッファ514とキューイングバッファ
制御部513へ出力される。これにより、キューイング
バッファ514には主記憶メモリ112への書き込みア
ドレスと書き込みデータが1組格納される。キューイン
グバッファ制御部513はキューイングバッファ514
を管理し、演算処理/実行制御部512から信号線56
2を介して出力された書き込み指示により、当該被処理
データ処理中の主記憶メモリ112書き込み命令数をカ
ウントする。次に図4の例では、時刻T6でプリフェッ
チ制御部109により、被処理データbについてのプリ
フェッチアドレス計算が終了したことを通知する専用命
令afinが実行される。この命令がプリフェッチアク
セスの開始のトリガとなり、命令デコーダ591から信
号線526を介しプリフェッチアクセス制御部596に
伝えられ、プリフェッチアクセス制御部596が信号線
538を介してプリフェッチリクェストをバス制御部1
11に対し出力する。
At the same time, a write instruction is output to the queuing buffer 514 and the queuing buffer controller 513 via the signal line 562. As a result, the queuing buffer 514 stores a set of write address and write data for the main memory 112. The queuing buffer control unit 513 uses the queuing buffer 514.
And the signal line 56 from the arithmetic processing / execution control unit 512.
According to the write instruction output via 2, the number of write instructions of the main memory 112 during the processing of the processed data is counted. Next, in the example of FIG. 4, at time T6, the prefetch control unit 109 executes the dedicated instruction afin for notifying that the prefetch address calculation for the processed data b is completed. This instruction triggers the start of prefetch access, is transmitted from the instruction decoder 591 to the prefetch access control unit 596 via the signal line 526, and the prefetch access control unit 596 sends the prefetch request to the bus control unit 1 via the signal line 538.
Output to 11.

【0070】図4の時刻T4、T5のように専用命令a
fin実行前に、プロセッサコア部110で主記憶メモ
リ112書き込み命令(aw1、aw2)が実行されて
いた場合、キューインバッファ制御部513からもプリ
フェッチリクェストと同じタイミングで、非優先書き込
みリクェストが信号線567を介してバス制御部111
に出力される。この時の非優先書き込みリクェスト発出
の機構を図9で説明する。上記専用命令afinは信号
線526〜124をへてプロセッサコア部110のキュ
ーイングバッファ制御部513に伝わり、キューイング
バッファ制御部513専用命令afinが実行されたこ
とを知る。この時迄にプロセッサコア部110で既に書
き込み命令が発行されたことは、キューイングバッファ
制御部513が信号線562からの情報により書き込み
命令発行数をカウントするため既知であり、書き込み命
令発行時は直ちに非優先書き込みリクェストが発出され
る。また、図5、aw1、aw2(時刻T4、T5)に
示す場合のように、書き込み開始のトリガとなる専用命
令afin(時刻T6)が実行された後に書き込み命令
が発行された場合は、時刻T4において1回目の書き込
み命令(aw1)が発行されると、直ちに信号線567
を介して非優先書き込みリクェストが発出される。
Dedicated instruction a as at times T4 and T5 in FIG.
When the main memory memory 112 write instruction (aw1, aw2) is executed in the processor core unit 110 before executing fin, the non-priority write request is also issued from the queue-in buffer control unit 513 at the same timing as the prefetch request. 567 via the bus control unit 111
Is output to. The mechanism for issuing the non-priority write request at this time will be described with reference to FIG. The dedicated instruction afin is transmitted to the queuing buffer control unit 513 of the processor core unit 110 via the signal lines 526 to 124, and the queuing buffer control unit 513 knows that the dedicated instruction afin has been executed. It is known that the write command has already been issued by the processor core unit 110 by this time because the queuing buffer control unit 513 counts the number of write command issuances based on the information from the signal line 562. Immediately a non-priority write request is issued. Further, as in the case shown in aw1 and aw2 (time T4 and T5) in FIG. 5, when the write instruction is issued after the dedicated instruction afin (time T6) that triggers the write start is executed, the time T4 When the first write command (aw1) is issued at, the signal line 567 is immediately issued.
A non-priority write request is issued via.

【0071】次に、この様にしてバス制御部111が受
信したプリフェッチリクェスト及び非優先書き込みリク
ェスト信号が、バス制御部111によりどのように調整
されるかについて図7のバス制御部111のバス調停ア
ルゴリズムを示すフローチャートを参照して説明する。
図4の場合のように専用命令afin発行時点(時刻T
6)で、既に書き込み命令が発行(時刻T4、T5)さ
れていると、前に述べたようにバス制御部111は、プ
リフェッチリクェトと非優先書き込みリクェトとを同一
のタイミングで受信する。この場合の図7の各ステップ
を順を追って説明する。図7を参照して、バス制御部1
11は、初期状態として優先書き込みインヒビット信号
とプリフェッチインヒビット信号の2つのインヒビット
信号をオフにし(ステップ401、402)各リクェス
トの到着を待つ。すなわち、まず優先書き込みリクェス
トの受信の有無をチェックし(ステップ403)受信し
ていないのでステップ403は「無」を経てステップ4
04に到るが、プリフェッチインヒビット信号はステッ
プ402でオフになっているので、ステップ404を通
り抜けてステップ407に移りプリフェッチリクェスト
の受信の有無をチェックする。プリフェッチリクェスト
は受信されており、プリフェッチインヒビット信号はオ
フであるからステップ409からステップ410に移
り、優先書き込みインヒビット信号をオンにして書き込
みアクセスを防止しておく。次にここではプロセッサコ
ア部110から読み出しリクェストが発出されていない
場合を仮定する。この仮定により、ステップ410から
ステップ411を経て、ステップ413に到るが、専用
命令afinが先着している場合なので、優先書き込み
リクェストは無く、ステップ416に移るが、プリフェ
ッチリクェストは有り、プリフェッチインヒビットはオ
フになっているのでステップ417からステップ418
に移りプリフェッチに対するバス使用許可を出力する。
これによりプリフェッチアクセスが1回実行される。そ
の後、ステップ403に戻り、次のアクセス調停が行わ
れる。
Next, as to how the prefetch request and non-priority write request signals thus received by the bus control unit 111 are adjusted by the bus control unit 111, the bus arbitration of the bus control unit 111 of FIG. 7 is performed. This will be described with reference to the flowchart showing the algorithm.
As in the case of FIG. 4, when the dedicated instruction afin is issued (time T
In 6), if the write command has already been issued (time T4, T5), the bus control unit 111 receives the prefetch request and the non-priority write request at the same timing as described above. Each step of FIG. 7 in this case will be described step by step. Referring to FIG. 7, the bus control unit 1
In the initial state, 11 turns off the two inhibit signals of the priority write inhibit signal and the prefetch inhibit signal (steps 401, 402) and waits for the arrival of each request. That is, first, it is checked whether or not the preferential write request has been received (step 403).
At 04, since the prefetch inhibit signal is turned off at step 402, it passes through step 404 and moves to step 407 to check whether or not the prefetch request is received. Since the prefetch request has been received and the prefetch inhibit signal is off, the process moves from step 409 to step 410, and the priority write inhibit signal is turned on to prevent write access. Next, it is assumed here that the read request is not issued from the processor core unit 110. Under this assumption, the process goes from step 410 to step 411 to step 413. However, since the dedicated instruction afin comes first, there is no preferential write request, and the process proceeds to step 416, but there is a prefetch request, and there is a prefetch inhibit. Since it is off, steps 417 to 418
Then, the bus use permission for prefetch is output.
As a result, the prefetch access is executed once. Then, the process returns to step 403, and the next access arbitration is performed.

【0072】先に述べたように、一旦プリフェッチに対
するバス使用許可を発出した後は、プリフェッチリクェ
ストの続く限り、すなわちプリフェッチアドレスメモリ
595に予約された全ワードのアクセスが完了するまで
プリフェッチに対して優先的にバス使用許可が発出され
る。すなわち、図4の場合は、時刻T6の専用命令af
inをトリガに、アドレスbpf1からbpf3まで3
ワードのプリフェッチが連続して実行される。これは、
プリフェッチ制御部109が被処理データbに対して3
ワードのプリフェッチアドレスを計算したことを意味す
る。このために、ステップ410において、優先書き込
みインヒビット信号をオンにし、プリフェッチアクセス
の途中においてプロセッサコア部110で専用命令fi
nが発出された場合にも、ステップ414でこのインヒ
ビット信号をチェックすることによりプリフェッチアク
セスを優先処理させるようにしている。
As described above, once the bus use permission for the prefetch is issued, as long as the prefetch request continues, that is, prior to the prefetch until the access of all the words reserved in the prefetch address memory 595 is completed. The bus permission is issued. That is, in the case of FIG. 4, the dedicated instruction af at time T6
3 from address bpf1 to bpf3 triggered by in
The word prefetch is executed continuously. this is,
The prefetch control unit 109 sets 3 for the processed data b.
Means that the prefetch address of a word has been calculated. Therefore, in step 410, the priority write inhibit signal is turned on, and the processor core unit 110 causes the dedicated instruction fi to be turned on during the prefetch access.
Even when n is issued, the inhibit signal is checked in step 414 so that the prefetch access is preferentially processed.

【0073】プリフェッチアクセスの処理が終わると、
すなわち、プリフェッチアドレスメモリ595に記録さ
れた全アドレスのプリフェッチが完了すると、プリフェ
ッチアクセス制御部596はプリフェッチリクェストの
出力を停止する。以下、プリフェッチリクエストが出力
されていない場合のバス制御部111での調停アルゴリ
ズムについて説明する。図7、ステップ403において
優先書き込みリクェストは受信していない場合、制御は
ステップ403、404を経てステップ407に移る。
プリフェッチリクェストは無くなっているので、ステッ
プ408で優先書き込みインヒビット信号をオフにす
る。次に、ここでもプロセッサコア部110より読み出
しリクェストが発出されてない場合を仮定する。すなわ
ち、ステップ411は「無」へ出て、ステップ413に
移り、優先書き込みリクェストは「無」で、ステップ4
16のプリフェッチリクェストも「無」で、ステップ4
19の非優先リクェストが「有」でステップ420の非
優先書き込みに対するバス使用許可が実行され、ステッ
プ403へ帰る。この様にして、(次被処理データのプ
リフェッチは完了しているので)非優先書き込みに対す
るバス使用許可がaw1、aw2と連続して発出され
る。
When the prefetch access processing is completed,
That is, when the prefetch of all the addresses recorded in the prefetch address memory 595 is completed, the prefetch access control unit 596 stops the output of the prefetch request. Hereinafter, the arbitration algorithm in the bus control unit 111 when the prefetch request is not output will be described. In FIG. 7, step 403, if the preferential write request has not been received, control proceeds to step 407 via steps 403 and 404.
Since the prefetch request has disappeared, the priority write inhibit signal is turned off at step 408. Next, it is assumed that the read request is not issued from the processor core unit 110 here as well. That is, the step 411 goes to “none” and the process moves to the step 413, and the priority write request is “none”, and the step 4
The prefetch request of 16 is also "none", and step 4
When the non-priority request of 19 is “present”, the bus use permission for the non-priority write of step 420 is executed, and the process returns to step 403. In this manner, the bus use permission for the non-priority write is issued consecutively with aw1 and aw2 (since the prefetch of the next processed data is completed).

【0074】図4の場合では、アドレスaw1とaw2
への書き込みが行われた後に3回の待ち時間が生じてい
る。これは他の被処理データ処理回路108から、優先
順位の高い要求がバス制御部111に到着している為で
ある。図4では、時刻T10にプロセッサコア部110
において専用命令finが発行され、その直後から書き
込み処理が再開され、アドレスaw3〜aw5に書き込
んでいる。これは上述したように専用命令finにより
優先書き込みリクェストが発出される為、これにより当
該被処理データ処理回路108からの書き込みリクェス
トの方が高い優先度となり、バス制御部111において
優先的に処理される為である。これは、バッファメモリ
105の状態2から状態3への遷移条件としてプロセッ
サコア部110からの書き込み完了するまでは次の被処
理データが処理待ちとなるため、専用命令fin発行後
は優先順位を高くして書き込み処理を速やかに完了させ
るための調停アルゴリズムである。
In the case of FIG. 4, addresses aw1 and aw2
There is a waiting time of 3 times after writing to the. This is because a request with a high priority has arrived at the bus control unit 111 from the other processed data processing circuit 108. In FIG. 4, at time T10, the processor core unit 110
At this time, the dedicated instruction fin is issued, and the writing process is restarted immediately after that, and writing is performed at the addresses aw3 to aw5. This is because the priority write request is issued by the dedicated instruction fin as described above, so that the write request from the processed data processing circuit 108 has a higher priority and is processed preferentially by the bus control unit 111. This is because This is because the next processed data waits for processing until the writing from the processor core unit 110 is completed as a transition condition from the state 2 to the state 3 of the buffer memory 105, so the priority is high after the dedicated instruction fin is issued. This is an arbitration algorithm for promptly completing the writing process.

【0075】ところでプリフェッチ制御部109からの
プリフェッチアクセスを、プロセッサコア部110から
の書き込みより優先的に処理すること自体で主記憶メモ
リ112の一貫性が保たれるわけではない。前述のよう
にプロセッサコア部110からの書き込みアドレスを監
視し、次の被処理データに対するプリフェッチアドレス
中に一致するものがあった場合、書き込みデータを設定
状態のプリフェッチメモリ(A面/B面)597/59
8に書き込むことで一貫性を保証している。
By the way, the prefetch access from the prefetch control unit 109 is preferentially processed over the writing from the processor core unit 110, so that the consistency of the main memory 112 is not maintained. As described above, the write address from the processor core unit 110 is monitored, and if there is a match in the prefetch address for the next data to be processed, the write data is set in the prefetch memory (A side / B side) 597. / 59
Writing to 8 guarantees consistency.

【0076】以下、図4、図8,図9及び図10を使っ
てこの一貫性保証機構の動作を説明する。上述のよう
に、バス制御部111は、プリフェッチアクセスが完了
すると、プロセッサコア部110からの非優先書き込み
リクェストを許可する。この許可信号は信号線567を
介してキューイングバッファ制御部513に伝えられ、
信号線579上にキューイングバッファ読み出し指示信
号が出力され、アドレス線584上にキューイングバッ
ファの読み出しアドレスが出力され、キューイングバッ
ファ514から主記憶メモリ112への書き込みアドレ
スと書き込みデータが信号線580と581からアドレ
スバス127とデータバス126にそれぞれ出力され
る。この時、主記憶メモリ112上のデータの一貫性を
保証するため、主記憶メモリ112への書き込み動作と
平行してプリフェッチアドレスメモリ595の検索が行
われる。すなわち、信号線580に出力される書き込み
アドレスが同時に検索キーとして信号線572〜130
を経てプリフェッチアドレスメモリ595に供給され、
キューイングバッファ制御部513からはプリフェッチ
アドレスメモリ595に対し信号線571〜130を介
して検索指示信号が出力され、プリフェッチアドレスメ
モリ595のCAM検索が行われる。
The operation of the consistency guarantee mechanism will be described below with reference to FIGS. 4, 8, 9 and 10. As described above, when the prefetch access is completed, the bus control unit 111 permits the non-priority write request from the processor core unit 110. This permission signal is transmitted to the queuing buffer control unit 513 via the signal line 567,
The queuing buffer read instruction signal is output on the signal line 579, the read address of the queuing buffer is output on the address line 584, and the write address and write data from the queuing buffer 514 to the main memory 112 are written on the signal line 580. And 581 are output to the address bus 127 and the data bus 126, respectively. At this time, in order to guarantee the consistency of the data in the main memory 112, the prefetch address memory 595 is searched in parallel with the write operation to the main memory 112. That is, the write addresses output to the signal line 580 are simultaneously used as search keys in the signal lines 572 to 130.
Is supplied to the prefetch address memory 595 through
The queuing buffer control unit 513 outputs a search instruction signal to the prefetch address memory 595 via the signal lines 571 to 130, and the CAM search of the prefetch address memory 595 is performed.

【0077】検索の結果、プリフェッチアドレスメモリ
595中に一致するアドレスが無い場合、プリフェッチ
データと関係ないデータの書き込みを意味するので、特
別の処理は行わない。検索の結果、プリフェッチアドレ
スメモリ595中に一致するアドレスが有った場合、書
き込みデータを設定状態のプリフェッチメモリ(A面/
B面)597/598の該当データが格納されているア
ドレスに、主記憶メモリ112への書き込みデータが書
き込まれる。この際の動作について説明する。検索の結
果、プリフェッチアドレスメモリ595中に一致するア
ドレスが有ると、プリフェッチアクセス制御部596は
信号線533を介してこの一致を知り、信号線528/
529により書き込みデータを設定状態のプリフェッチ
メモリ(A面/B面)597/598に対して書き込み
指示を出力する。その際の書き込みアドレス及び書き込
みデータは、信号線533の検索一致信号で2つの2入
力セレクタ599がB入力選択に切り替わる為、書き込
みアドレスがプリフェッチアドレスメモリ595からの
信号線532の検索アドレス、書き込みデータがキュー
イングバッファ514からの信号線581〜583〜1
30を経由して供給される主記憶メモリ書き込みデータ
になる。
As a result of the search, if there is no matching address in the prefetch address memory 595, it means writing of data unrelated to the prefetch data, and no special processing is performed. As a result of the search, when there is a matching address in the prefetch address memory 595, the write data is set in the prefetch memory (A side /
The write data to the main memory 112 is written at the address where the corresponding data of (B side) 597/598 is stored. The operation at this time will be described. As a result of the search, if there is a matching address in the prefetch address memory 595, the prefetch access control unit 596 knows this matching via the signal line 533, and the signal line 528 /
529 outputs a write instruction to the prefetch memory (A side / B side) 597/598 in which the write data is set. The write address and the write data at that time are the search address of the signal line 532 from the prefetch address memory 595 and the write data because the two 2-input selectors 599 are switched to the B input selection by the search match signal of the signal line 533. Are signal lines 581 to 583 to 1 from the queuing buffer 514.
It becomes the main memory memory write data supplied via 30.

【0078】以上の動作を図10を用いて説明する。あ
る被処理データにおいて6ワードがプリフェッチされ、
プリフェッチアドレスメモリ595にはN−5番地から
N番地にプリフェッチ予約された情報が格納されている
とする。各エントリには、プリフェッチされた主記憶メ
モリ112のアドレス情報602と、プリフェッチした
データの格納先アドレス情報601が1ワードに格納さ
れている。主記憶メモリ112のアドレス1F00番地
への書き込み処理時において、プリフェッチアドレスメ
モリ595がこのアドレスデータ1F00を検索キーと
してCAM検索され、N−3番地に一致するデータが見
つかる。一致するデータが見つかると、プリフェッチア
ドレスメモリ595の一致アドレス(図10の例ではN
−3番地)中の601フィールドの値(図10の例では
13番地)を設定状態のプリフェッチメモリ(A面/B
面)597/598への書き込みアドレスとして、主記
憶メモリ112への書き込みデータ(図10の例では1
0FF0C24)を書き込む。
The above operation will be described with reference to FIG. 6 words are prefetched in some processed data,
It is assumed that the prefetch address memory 595 stores prefetch reserved information from addresses N-5 to N. In each entry, prefetched address information 602 of the main memory 112 and storage destination address information 601 of prefetched data are stored in one word. During the writing process to the address 1F00 of the main memory 112, the prefetch address memory 595 is CAM-searched using this address data 1F00 as a search key, and the data matching the address N-3 is found. When the matching data is found, the matching address (N in the example of FIG. 10) of the prefetch address memory 595 is detected.
(Address -3), the value of the 601 field (address 13 in the example of FIG. 10) in the prefetch memory (Side A / B)
The write data to the main memory 112 (1 in the example of FIG. 10) is used as the write address to the surface 597/598.
0FF0C24) is written.

【0079】次に、専用命令fin先着の場合の動作に
ついて図6、図8及び図9を使って、主記憶メモリ11
2アクセスリクェストの発出タイミングや内部動作につ
いて説明し、その後図7を使って、バス調停アルゴリズ
ムに関して説明する。図6は被処理データの到着間隔に
若干空きが存在する場合の例である。このような場合、
被処理データaの処理が先行しプロセッサコア部110
からの専用命令finがプロセッサコア部110での被
処理データa処理結果の書き込みトリガとなる(時刻T
7)。このときの動作を図9を使って説明する。命令メ
モリ510から読み込んだ命令を命令デコーダ511で
解読した結果、専用命令finであることが判ると命令
デコーダ511は信号線567を介して制御バス128
に優先書き込みリクェストを出力する。このリクェスト
がバス制御部111で調停されて、バス使用許可信号が
バス制御部111から出力され、制御バス128、信号
線567を経て受信されると、プロセッサコア部110
は書き込み処理を開始する。この時の書き込み処理は、
プリフェッチ制御部109の専用命令afinをトリガ
とした書き込み処理と同様にキューイングバッファ制御
部513がキューイングバッファ514から書き込みア
ドレスと書き込みデータを読み出して処理されていく
が、プリフェッチアドレスメモリ595の検索処理を行
わないところが相違点である。
Next, the operation in the case of the first-come-first-served fin instruction will be described with reference to FIGS. 6, 8 and 9.
The output timing and internal operation of the 2-access request will be described, and then the bus arbitration algorithm will be described with reference to FIG. 7. FIG. 6 shows an example in which there is a slight gap in the arrival interval of the processed data. In such cases,
The processing of the processed data a precedes the processor core unit 110.
The dedicated instruction fin from is a trigger for writing the processing result of the processed data a in the processor core unit 110 (time T
7). The operation at this time will be described with reference to FIG. As a result of decoding the instruction read from the instruction memory 510 by the instruction decoder 511, if the instruction decoder 511 finds that it is the dedicated instruction fin, the instruction decoder 511 sends the control bus 128 via the signal line 567.
The priority write request is output to. When this request is arbitrated by the bus control unit 111 and a bus use permission signal is output from the bus control unit 111 and received via the control bus 128 and the signal line 567, the processor core unit 110
Starts the writing process. The writing process at this time is
Similar to the writing process triggered by the dedicated instruction afin of the prefetch control unit 109, the queuing buffer control unit 513 reads the write address and the write data from the queuing buffer 514 for processing, and the search process of the prefetch address memory 595. The difference is that is not performed.

【0080】次に、バス制御部111が受信した優先書
き込みリクェスト信号に対しどのように調停されるかに
ついて図7に示す各ステップを追って説明する。図6の
時刻T6において、次非処理データbに関する専用命令
afinは未発出なので主記憶メモリバスは空き状態に
あり、2つのインヒビット信号はオフになっている。ス
テップ403で優先書き込みリクェストがチェックさ
れ、優先書き込みリクェストを受信しているので、ステ
ップ403、ステップ405を経てステップ406に移
りプリフェッチインヒビット信号をオンにする。ステッ
プ407でプリフェッチリクェストは受けてないので、
ステップ408を素通りする。ここでも、プロセッサコ
ア部110から読み出しリクェストが発出されてない場
合を仮定する。ステップ411からステップ413、4
14、415に移り、優先書き込みリクェストに対して
バス使用許可を出力する。その後はステップ403に戻
り優先書き込みが続けられる。
Next, how the bus control unit 111 arbitrates with respect to the priority write request signal received will be described by following each step shown in FIG. At time T6 in FIG. 6, since the dedicated instruction afin for the next non-processed data b has not yet been issued, the main memory bus is empty and the two inhibit signals are off. Since the priority write request is checked in step 403 and the priority write request is received, the process proceeds to step 406 through steps 403 and 405, and the prefetch inhibit signal is turned on. Since I have not received the prefetch request in step 407,
Step 408 is bypassed. Here again, it is assumed that the read request is not issued from the processor core unit 110. Steps 411 to 413, 4
Moving to 14, 415, the bus use permission is output to the priority write request. After that, the process returns to step 403 and the priority writing is continued.

【0081】図6の時刻T8においてプリフェッチ制御
部109から専用命令afinが発行されている。しか
し、常に優先書き込みリクェストをプリフェッチリクェ
ストよりも先にチェックし、しかもアドレスaw6の書
き込みが完了するまでの間、優先書き込みリクェストが
発出し続けており、プリフェッチインヒビットをオフに
出来ない為、優先書き込み処理が先に処理される。
At time T8 in FIG. 6, the dedicated instruction afin is issued from the prefetch control unit 109. However, since the priority write request is always checked before the prefetch request, and the priority write request continues to be issued until the writing of the address aw6 is completed, the prefetch inhibit cannot be turned off. Is processed first.

【0082】アドレスaw6まで書き込みが終了する
と、優先書き込みリクストが解除され、図7のステップ
403からステップ404に移り、プリフェッチインヒ
ビット信号がオフになる。アドレスaw6の書き込み完
了時には既にプリフェッチ制御部109で専用命令af
inが発行されているので、プリフェッチリクェストが
発出されており、プリフェッチインヒビット信号はオフ
なので(ステップ407、409)ステップ410で優
先書き込みインヒビット信号がオンにされる。次に、こ
こでも、プロセッサコア部110からの読み出しリクェ
ストは、発出されてないと仮定する。ステップ411か
らステップ413、416、417、418に到りプリ
フェッチアクセスに対しバス使用許可が発出される。
When the writing is completed up to the address aw6, the priority write request is released, the process proceeds from step 403 to step 404 in FIG. 7, and the prefetch inhibit signal is turned off. When the writing of the address aw6 is completed, the prefetch control unit 109 has already executed the dedicated instruction af.
Since in has been issued, the prefetch request has been issued and the prefetch inhibit signal is off (steps 407 and 409), so that the priority write inhibit signal is turned on at step 410. Next, again, it is assumed that the read request from the processor core unit 110 has not been issued. From step 411 to steps 413, 416, 417, 418, bus use permission is issued for prefetch access.

【0083】これまで、プロセッサコア部110からの
読み出しリクェストがない場合のバス調停アルゴリズム
についてそれぞれ説明したが、前述したようにプロセッ
サコア部110からの主記憶メモリ112の直接読み出
しは、データ読み出しが完了するまでの間プロセッサコ
ア部110の次命令は処理待ち状態になり、性能低下を
引き起こす。このため、プロセッサコア部110からの
読み出しリクェストの有無は、ステップ413、416
及び419の優先書き込みリクェスト、プリフェッチリ
クェスト及び非優先書き込みリクェストの全てに優先し
てステップ411でチェックされ「有」の場合には無条
件でバス使用許可が付与される(ステップ412)。
The bus arbitration algorithms when there is no read request from the processor core unit 110 have been described above. However, as described above, direct read of the main memory 112 from the processor core unit 110 completes data read. Until then, the next instruction of the processor core unit 110 is put in a processing wait state, which causes performance degradation. Therefore, the presence / absence of a read request from the processor core unit 110 is determined in steps 413 and 416.
And 419, the priority write request, the prefetch request, and the non-priority write request are prioritized and checked in step 411, and if "Yes", the bus use permission is unconditionally given (step 412).

【0084】以上述べたように、主記憶メモリ112の
書き込みについてのバス使用調停は、 1)当該被処理データの処理が次被処理データのプリフ
ェッチアドレスの算出に先行して終了した場合は、専用
命令finが実行され、優先書き込みリクェストにより
プリフェッチリクェストに優先してキューイングバッフ
ァ514内の書き込みデータが連続処理され、その後プ
リフェッチが行われるので最新のデータがプリフェッチ
されプロセッサコア部110により参照される。 2)次被処理データのプリフェッチアドレスの算出が当
該被処理データの処理に先行して終了した場合には、専
用命令afinが先に実行され、プリフェッチアクセス
が優先実行されるが、その後の主記憶メモリ112への
非優先もしくは優先書き込みに際しては、書き込みアド
レスのデータがプリフェッチされていた場合にはプリフ
ェッチデータを同時に更新されるので、プロセッサコア
部110は同様に最新のデータを参照することができ
る。
As described above, the bus use arbitration for writing to the main memory 112 is as follows: 1) When the processing of the data to be processed ends prior to the calculation of the prefetch address of the next data to be processed, it is dedicated. The instruction fin is executed, the write data in the queuing buffer 514 is continuously processed in priority to the prefetch request by the priority write request, and the prefetch is performed thereafter, so that the latest data is prefetched and referred to by the processor core unit 110. 2) When the calculation of the prefetch address of the next processed data is completed prior to the processing of the processed data, the dedicated instruction afin is executed first, and the prefetch access is preferentially executed. At the time of non-priority or preferential writing to the memory 112, if the data of the write address has been prefetched, the prefetch data is updated at the same time, so that the processor core unit 110 can similarly refer to the latest data.

【0085】以上、プリフェッチ制御部109が専ら主
記憶メモリ112のデータのプリフェッチのみを担当す
る本発明の実施形態について説明した。先に述べたよう
に、本発明の目的はプロセッサコア部110でのプログ
ラム処理において必要な主記憶メモリ112上のデータ
を1状態前においてプリフェッチして、主記憶メモリ1
12アクセス時間の短縮を図ることである。プリフェッ
チ制御部109でのプリフェッチアドレスの特定は、状
態2の被処理データ参照やタイマー機能により判断し、
プロセッサコア部110での処理結果や主記憶メモリ1
12の内容を参照せずにプリフェッチアドレスを特定し
た。この考えを応用してプリフェッチ制御部109をデ
ータのプリフェッチに限ることなく、その他のプロセッ
サコア部110の前処理プロセッサに利用することも可
能である。すなわち、状態2の被処理データ参照やタイ
マー機能により処理内容が特定される処理については、
プリプロセッサ部500に被処理データ処理に適する命
令セットを用意することにより、プリプロセッサ部50
0で前処理を行い、処理結果をプリフェッチメモリA面
597又はB面598同様の2面構成の記憶資源を新た
に設けることでプロセッサコア部110がプリプロセッ
サ部500の前処理結果を参照して処理する分散処理化
が可能となり、全体の処理スルートップを向上すること
もできる。上記記憶資源として、A面及びB面の2面か
らなるプリプロセスメモリを新たに設け、プリフェッチ
制御部109は、接続されるバッファメモリのそれぞれ
の被処理データの所要処理に必要であると特定される主
記憶メモリ112のデータをプリフェッチメモリのA面
597及びB面598を交互に使用してプリフェッチす
ると共に、それぞれの被処理データの所要処理のうち、
主記憶メモリ112へのデータ書き込みを必要としない
処理の一部または全部を実行し、実行結果を上記プリプ
ロセスメモリのA面及びB面を交互に使用して記録し、
プロセッサコア部110は、プリフェッチメモリのA面
597及びB面598の内プリフェッチ制御部109の
使用していない面及び上記プリプロセスメモリのA面及
びB面の内プリフェッチ制御部109の使用していない
面を参照して所要処理のその他 の処理を実行する。
The embodiment of the present invention in which the prefetch control unit 109 is solely responsible for prefetching data in the main memory 112 has been described above. As described above, the object of the present invention is to prefetch the data in the main storage memory 112 necessary for the program processing in the processor core unit 110 one state before, and
12 To shorten the access time. The specification of the prefetch address in the prefetch control unit 109 is determined by referring to the processed data in the state 2 or the timer function,
Processing results in the processor core unit 110 and main memory 1
The prefetch address was specified without referring to the contents of 12. By applying this idea, the prefetch control unit 109 can be used not only for prefetching data but also for a preprocessor of another processor core unit 110. That is, regarding the processing in which the processing contents are specified by the processed data reference or the timer function in the state 2,
By preparing an instruction set suitable for processing the processed data in the preprocessor unit 500, the preprocessor unit 50
0, preprocessing is performed, and the processing result is processed by the processor core unit 110 by referring to the preprocessing result of the preprocessor unit 500 by newly providing a storage resource of a two-side configuration similar to the prefetch memory A side 597 or B side 598. It is possible to realize distributed processing, and it is possible to improve the overall processing through-top. As the above memory resource, there are two sides, side A and side B.
New pre-process memory consisting of
The control unit 109 controls each of the connected buffer memories.
Mainly identified as necessary for the required processing of the processed data of
The data in the storage memory 112 is transferred to the A side of the prefetch memory.
Prefetch by alternately using 597 and B-side 598
Of the required processing of each processed data,
No need to write data to main memory 112
Execute part or all of the processing, and
Record by alternately using the A side and B side of the process memory,
The processor core unit 110 is the A side of the prefetch memory.
597 and B side 598 of the prefetch control unit 109
Unused side and A side of the above preprocess memory
Not used by the prefetch control unit 109 of the B side and the B side
Perform other processing of the required processing by referring to the surface .

【0086】[0086]

【発明の効果】以上述べたように本発明によれば (1)プログラム実行待ち時間が低減される。 (2)プログラム命令から見たメモリアクセスの待ち時
間が隠蔽される。 (3)安価なメモリ素子を使用することができる。 (4)主記憶メモリを被処理データ処理回路間のデータ
通信空間に活用できる。 (5)プロセッサの保証性能値が向上する。 (6)主記憶メモリの実効データ転送能力が向上するな
どの効果がある。
As described above, according to the present invention, (1) the program execution waiting time is reduced. (2) The waiting time for memory access seen from the program instruction is hidden. (3) An inexpensive memory element can be used. (4) The main memory can be utilized as the data communication space between the processed data processing circuits. (5) The guaranteed performance value of the processor is improved. (6) The effective data transfer capability of the main memory is improved.

【0087】効果(1)について言えば、プリフェッチ
制御部109が主記憶メモリをプリフェッチすること
で、プロセッサコア部110でのプログラム処理におい
て必要な主記憶メモリデータの多くが予めチップ内部の
高速RAMに格納される。また、書き込みでは実際に主
記憶メモリ112への書き込みが行われるのを待たずに
次命令を実行できる。これにより主記憶メモリアクセス
待ちが原因となるプログラム実行待ち時間を低減でき
る。効果(2)について言えば、プロセッサコア部11
0のプログラム命令による主記憶メモリ112読み出し
アクセスを除く他のアクセスは、プロセッサコア部11
0のプログラム処理と非同期に行うことができる。ここ
での非同期とは、読み出しでは予めプリフェッチされた
データを読み出し、書き込みでは実際に主記憶メモリ1
12への書き込み処理を待たずに次命令を実行すること
を意味する。その為、主記憶メモリに使用するメモリ素
子は、アクセス指示してからデータが読み出されるまで
の待ち時間(レイテンシ)が長くてもプログラム実行待
ちが生じない。
As to the effect (1), the prefetch control unit 109 prefetches the main storage memory, so that most of the main storage memory data required for the program processing in the processor core unit 110 is stored in advance in the high-speed RAM inside the chip. Is stored. Further, in writing, the next instruction can be executed without waiting for the actual writing to the main memory 112. As a result, it is possible to reduce the program execution waiting time caused by the main memory access wait. As for the effect (2), the processor core unit 11
The access other than the read access of the main memory 112 by the program instruction of 0 is executed by the processor core unit 11
It can be performed asynchronously with 0 program processing. Asynchronous here means that the pre-fetched data is read for reading, and the main memory 1 is actually written for writing.
This means that the next instruction is executed without waiting for the write processing to 12. Therefore, in the memory element used for the main memory, the program execution wait does not occur even if the wait time (latency) from the access instruction to the data read is long.

【0088】効果(3)について言えば、通常主記憶メ
モリアクセス待ち時間を問題とするようなアプリケーシ
ョンプログラムにはキャッシュミスヒット時のプログラ
ム待ち時間を少なくするためにアクセス時間の早いメモ
リ素子を使用する必要があるが、本発明では効果(2)
で述べたように、アクセス時間やレイテンシの大きいメ
モリ素子を使用してもプログラム実行待ち時間の増加に
直接つながらないので主記憶メモリ用に安価なメモリ素
子を使用することが可能になる。効果(4)について言
えば、複数の被処理データ処理回路108が1つの主記
憶メモリ112とそのメモリバスを共有しているため、
主記憶メモリ112がそのまま被処理データ処理回路1
08間のデータ通信空間としての機能を持つ。
As for the effect (3), a memory device having a fast access time is used for an application program which normally has a problem of main memory access latency in order to reduce the program wait time at the time of a cache miss. Although necessary, the present invention has an effect (2)
As described above, even if a memory element having a large access time or a long latency is used, it does not directly lead to an increase in the program execution wait time, so that an inexpensive memory element can be used for the main memory. As for the effect (4), since the plurality of processed data processing circuits 108 share one main storage memory 112 and its memory bus,
The main memory 112 is used as it is for the processed data processing circuit 1
08 has a function as a data communication space.

【0089】効果(5)について言えば、プリフェッチ
により読み出された主記憶メモリ112上のデータは、
プロセッサコア部110のプログラムから待ち時間無し
での参照が保証され、予め何ワードがプリフェッチされ
るかが既知であれば、プリフェッチによる主記憶メモリ
アクセス改善効果が定量化でき、プロセッサの保証性能
値を向上することができる。
As for the effect (5), the data on the main memory 112 read by the prefetch is:
If the program of the processor core unit 110 guarantees a reference without a wait time and knows how many words are prefetched in advance, the main memory access improvement effect by prefetching can be quantified and the guaranteed performance value of the processor can be calculated. Can be improved.

【0090】効果(6)について言えば、同期式のメモ
リ素子では、読み出しアクセスから書き込みアクセスへ
の切り換え時には、通常、読み出し後一旦メモリ素子を
休止させてから書き込みをする必要があり、一般に「レ
ジスタ・レジスタ」と呼ばれる、メモリコアの前後にレ
ジスタが存在するメモリ素子の場合では、2クロックの
休止期間が必要となる。従って、バスの帯域を有効に引
き出す為には読み出した後書き込みをする切り換え回数
を減らさねばならない。本発明では、バス制御部111
により、プリフェッチ制御部109でのプリフェッチア
クセスとプロセッサコア部110での処理結果書き込み
アクセスのいずれかを連続優先処理するように調停する
ことで読み出しから書き込みへの切り換え回数が減少す
るため、主記憶メモリ112の実効データ転送能力が向
上する。
As for the effect (6), in the synchronous memory device, when switching from the read access to the write access, it is usually necessary to temporarily suspend the memory device after the read operation and then perform the write operation. -In the case of a memory device called a "register" in which registers exist before and after the memory core, a 2-clock pause period is required. Therefore, in order to effectively draw out the bandwidth of the bus, it is necessary to reduce the number of switching operations for reading and then writing. In the present invention, the bus control unit 111
As a result, the number of switching from read to write is reduced by arbitrating so that either the prefetch access in the prefetch control unit 109 or the processing result write access in the processor core unit 110 is continuously preferentially processed. The effective data transfer capability of 112 is improved.

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

【図1】本発明の主記憶メモリアクセス装置の構成を示
すブロック図である。
FIG. 1 is a block diagram showing a configuration of a main memory access device of the present invention.

【図2】図1のバッファメモリの状態遷移を示す説明図
である。
FIG. 2 is an explanatory diagram showing a state transition of the buffer memory in FIG.

【図3】図1の装置において、データの一貫性を考慮し
ない場合に、被処理データが連続到着した時のプログラ
ム命令とメモリアクセスタイミングの関係の一例を示す
タイミングチャートである。
3 is a timing chart showing an example of a relationship between a program instruction and memory access timing when data to be processed successively arrives in the device of FIG. 1 without considering data consistency.

【図4】図1の装置において、データの一貫性を考慮し
た場合の、被処理データが連続到着した時のプログラム
命令とメモリアクセスタイミングの関係の一例を示すタ
イミングチャートである。
FIG. 4 is a timing chart showing an example of a relationship between program instructions and memory access timing when data to be processed successively arrives in the device of FIG. 1 in consideration of data consistency.

【図5】図1の装置において、データの一貫性を考慮し
た場合の、被処理データが連続到着した時のプログラム
命令とメモリアクセスタイミングの関係の他の例を示す
タイミングチャートである。
5 is a timing chart showing another example of the relationship between a program instruction and memory access timing when data to be processed successively arrives in the device of FIG. 1 in consideration of data consistency.

【図6】図1の装置において、データの一貫性を考慮し
た場合の、被処理データが間欠到着した時のプログラム
命令とメモリアクセスタイミングの関係の一例を示すタ
イミングチャートである。
FIG. 6 is a timing chart showing an example of the relationship between program instructions and memory access timing when data to be processed arrives intermittently in the device of FIG. 1 in consideration of data consistency.

【図7】図1のバス制御部の調停アルゴリズムを示す流
れ図である。
7 is a flow chart showing an arbitration algorithm of the bus control unit of FIG. 1. FIG.

【図8】図1のプリフェッチ制御部の詳細構成を示すブ
ロック図である。
8 is a block diagram showing a detailed configuration of a prefetch control unit in FIG. 1. FIG.

【図9】図1のプロセッサコア部の詳細構成を示すブロ
ック図である。
9 is a block diagram showing a detailed configuration of a processor core unit in FIG. 1. FIG.

【図10】図8のプリフェッチアドレスメモリの構成を
示す模式図である。
10 is a schematic diagram showing the configuration of the prefetch address memory of FIG.

【図11】プリフェッチアドレス計算の一例を示す模式
図である。
FIG. 11 is a schematic diagram showing an example of prefetch address calculation.

【図12】プリフェッチアドレス計算の他の例を示す模
式図である。
FIG. 12 is a schematic diagram showing another example of prefetch address calculation.

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

101 入力ポート 102 出力ポート 103 入出力バッファメモリ回路 104 入力制御回路 105 バッファメモリ 106 出力制御回路 107 バッファメモリ状態制御部 108 被処理データ処理回路 109 プリフェッチ制御部 110 プロセッサコア部 111 バス制御部 112 主記憶メモリ 120〜125、130、520〜584 信号線 126 データバス 127 アドレスバス 128 制御バス 129 外部CPUバス 500 プリプロセッサ部 501 メモリアクセス部 510、590 命令メモリ 511、591 命令デコーダ 512、592 演算処理/実行制御部 513 キューイングバッファ制御部 514 キューイングバッファ 515、593 ワークメモリ 594 CAM 595 プリフェッチアドレスメモリ 597 プリフェッチメモリ(A面) 598 プリフェッチメモリ(B面) 599 2入力セレクタ 101 input port 102 output ports 103 I / O buffer memory circuit 104 Input control circuit 105 buffer memory 106 Output control circuit 107 buffer memory state control unit 108 processed data processing circuit 109 prefetch control unit 110 processor core 111 Bus control unit 112 main memory 120-125, 130, 520-584 signal lines 126 data bus 127 address bus 128 control bus 129 External CPU bus 500 preprocessor section 501 memory access unit 510, 590 instruction memory 511 and 591 instruction decoder 512, 592 Operation processing / execution control unit 513 queuing buffer controller 514 queuing buffer 515, 593 Work memory 594 CAM 595 prefetch address memory 597 Prefetch memory (A side) 598 Prefetch memory (B side) 599 2-input selector

───────────────────────────────────────────────────── フロントページの続き (72)発明者 志村 直樹 神奈川県川崎市中原区小杉町一丁目403 番地 日本電気テレコムシステム株式会 社内 (72)発明者 寺本 博樹 神奈川県川崎市中原区小杉町一丁目403 番地 日本電気テレコムシステム株式会 社内 (56)参考文献 特開 平10−106253(JP,A) 特開 平4−56548(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 G06F 9/38 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Naoki Shimura 1-403, Kosugi-cho, Nakahara-ku, Kawasaki-shi, Kanagawa NEC Telecom Systems Stock Company In-house (72) Hiroki Teramoto 1-chome, Kosugi-cho, Nakahara-ku, Kawasaki-shi, Kanagawa 403 Japan Electric Telecom System Stock Association In-house (56) Reference JP 10-106253 (JP, A) JP 4-56548 (JP, A) (58) Fields investigated (Int.Cl. 7 , DB) Name) G06F 12/00 G06F 9/38

Claims (11)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 任意数の被処理データ処理回路と、この
任意数の被処理データ処理回路がメモリバスを介して共
通にアクセスする主記憶メモリへのアクセスリクェスト
に対するバス使用調停を行うバス制御部と、前記任意数
の被処理データ処理回路のそれぞれの内部に設けられた
内部メモリとを備えたマイクロプロセッサにおいて、前
記任意数の被処理データ処理回路のそれぞれは、 複数のバッファメモリと、 当該被処理データ処理回路に順次入力される被処理デー
タをこの複数のバッファメモリの接続された一つに書き
込む入力制御回路と、 前記複数のバッファメモリの接続された一つに書き込ま
れた被処理データから、当該被処理データの所要処理に
必要であると特定される前記主記憶メモリのデータを前
記内部メモリにプリフェッチするプリフェッチ制御部
と、 前記複数のバッファメモリの接続された一つに書き込ま
れた被処理データについて、当該被処理データに関して
前記プリフェッチ制御部により前記内部メモリにプリフ
ェッチされた前記主記憶メモリのデータを用いて前記所
要処理を行うプロセッサコア部と、 前記複数のバッファメモリの接続された一つに書き込ま
れた被処理データを出力ポートに出力する出力制御回路
と、 前記入力制御回路、前記プリフェッチ制御部、前記プロ
セッサコア部及び前記出力制御回路のそれぞれに、非同
期で行われるそれぞれの処理状態を勘案して、前記複数
のバッファメモリのそれぞれを順次接続することによ
り、当該被処理データ処理回路に順次入力される被処理
データのパイプライン処理を制御するバッファメモリ状
態管理部とを備えたことを特徴とする主記憶メモリのプ
リフェッチ機構を備えたマイクロプロセッサ。
1. A bus control unit for arbitrating bus usage for an access request to a main memory which is commonly accessed via a memory bus by an arbitrary number of processed data processing circuits. And the arbitrary number
A microprocessor provided with an internal memory provided inside each of the processed data processing circuits, the plurality of processed data processing circuits each include a plurality of buffer memories and the processed data. From the input control circuit for writing the processed data sequentially input to the data processing circuit to the connected one of the plurality of buffer memories, and the processed data written to the connected one of the plurality of buffer memories, A prefetch control unit that prefetches data in the main memory memory, which is specified as being necessary for the required processing of the processed data, into the internal memory; Regarding the data, the main record prefetched into the internal memory by the prefetch control unit for the processed data. A processor core unit that performs the required processing using data in the memory; an output control circuit that outputs to-be-processed data written in one of the plurality of buffer memories connected to the output control circuit; The processed data processing is performed by sequentially connecting each of the plurality of buffer memories to each of the prefetch control unit, the processor core unit, and the output control circuit in consideration of respective processing states performed asynchronously. A microprocessor provided with a prefetch mechanism for a main memory, comprising a buffer memory state management unit for controlling pipeline processing of processed data sequentially input to a circuit.
【請求項2】 前記バッファメモリ状態管理部は、前記
複数のバッファメモリについて、前記入力制御回路への
接続待ち状態を状態0とし、前記入力制御回路に接続さ
れ被処理データが記入されている状態を状態1とし、前
記入力制御回路での被処理データの記入が終了し前記プ
リフェッチ制御部への接続待ち状態を状態1.5とし、
前記プリフェッチ制御部に接続されている状態を状態2
とし、前記プロセッサコア部に接続されている状態を状
態3とし、前記出力制御回路に接続され被処理データが
出力されている状態を状態4とするとき、 先行するバッファメモリが状態1を終え、前記入力制御
回路に入力される被処理データが1単位以上となった場
合に状態0にあるバッファメモリの一つを状態1に遷移
させ、 状態1を終了したバッファメモリを状態1.5にあるバ
ッファメモリの待ち行列の後尾に付け、 先行するバッファメモリが状態2を終えた場合に、状態
1.5にあるバッファメモリの待ち行列の先頭を状態2
に遷移させ、 先行するバッファメモリが状態3を終え、且つ前記特定
される前記主記憶メモリのデータの前記内部メモリへの
プリフェッチが完了したことを条件に状態2にあるバッ
ファメモリを状態3に遷移させ、 先行するバッファメモリが状態4を終え、且つ前記所要
処理に伴い発生した前記主記憶メモリへのデータ書き込
みが完了したことを条件に状態3にあるバッファメモリ
を状態4に遷移させ、 状態4を終了したバッファメモリを状態0に編入するよ
う制御することを特徴とする請求項1に記載の主記憶メ
モリのプリフェッチ機構を備えたマイクロプロセッサ。
2. A state in which the buffer memory state management unit sets a state of waiting for connection to the input control circuit for the plurality of buffer memories to state 0, and is connected to the input control circuit and has data to be processed written therein. Is set to state 1, and the state of waiting for connection to the prefetch control unit after completion of writing of the processed data in the input control circuit is set to state 1.5,
State 2 connected to the prefetch control unit
When the state connected to the processor core section is set to state 3 and the state connected to the output control circuit to output the processed data is set to state 4, the preceding buffer memory finishes state 1, When the processed data input to the input control circuit becomes 1 unit or more, one of the buffer memories in the state 0 is transited to the state 1, and the buffer memory which has completed the state 1 is in the state 1.5. It is added to the end of the buffer memory queue, and when the preceding buffer memory finishes state 2, the head of the buffer memory queue in state 1.5 is placed in state 2
The buffer memory in the state 2 is transited to the state 3 on condition that the preceding buffer memory finishes the state 3 and the prefetch of the specified data in the main memory into the internal memory is completed. Then, the buffer memory in the state 3 is transited to the state 4 on condition that the preceding buffer memory finishes the state 4 and the data writing to the main memory generated by the required processing is completed, The microprocessor having a prefetch mechanism of the main memory according to claim 1, wherein the buffer memory which has completed the above is controlled to be transferred to the state 0.
【請求項3】 前記被処理データのそれぞれは前記所要
処理に対応するコネクションID(識別子)を有するパ
ケットデータであり、前記プリフェッチ制御部は接続さ
れたバッファメモリのパケットデータのコネクションI
Dの値から、コネクションID順にそれぞれ対応する所
要処理に必要であると特定される前記主記憶メモリのデ
ータのプリフェッチアドレスを記載したテーブルのエン
トリの先頭アドレスを算出してこのテーブルを参照し、
当該パケットデータの前記所要処理に必要であると特定
される前記主記憶メモリのデータのプリフェッチアドレ
スを取得することを特徴とする請求項1に記載の主記憶
メモリのプリフェッチ機構を備えたマイクロプロセッ
サ。
3. Each of the processed data is packet data having a connection ID (identifier) corresponding to the required processing, and the prefetch control unit is a connection I of packet data of a connected buffer memory.
From the value of D, the head address of the entry of the table that describes the prefetch address of the data in the main memory specified to be necessary for the corresponding processing in connection ID order is calculated, and this table is referenced,
2. The microprocessor having a main memory prefetch mechanism according to claim 1, wherein a prefetch address of the data in the main memory specified to be required for the required processing of the packet data is acquired.
【請求項4】 前記被処理データのそれぞれは前記所要
処理に対応するコネクションID(識別子)を有するパ
ケットデータであり、前記プリフェッチ制御部は接続さ
れたバッファメモリのパケットデータのコネクションI
Dの値から、CAM(連想検索メモリ)を用いて、使用
中のコネクションIDのそれぞれに対応する所要処理に
必要であると特定される前記主記憶メモリのデータのプ
リフェッチアドレスを記載したテーブルのエントリの先
頭アドレスを検索してこのテーブルを参照し、当該パケ
ットデータの前記所要処理に必要であると特定される前
記主記憶メモリのデータのプリフェッチアドレスを取得
することを特徴とする請求項1に記載の主記憶メモリの
プリフェッチ機構を備えたマイクロプロセッサ。
4. Each of the processed data is packet data having a connection ID (identifier) corresponding to the required processing, and the prefetch control unit is a connection I of packet data of a connected buffer memory.
An entry of a table in which a prefetch address of data in the main memory specified from the value of D by using a CAM (associative search memory) is specified as being necessary for required processing corresponding to each connection ID in use. 2. The prefetch address of the data of the main memory specified to be necessary for the required processing of the packet data is acquired by searching the head address of the packet and referring to this table. Microprocessor with prefetch mechanism for main memory.
【請求項5】 前記被処理データの前記所要処理に必要
であると特定される前記主記憶メモリのデータが、当該
被処理データの処理周期によって特定される場合には、
前記プリフェッチ制御部は内部に有するタイマーの計数
値から前記主記憶メモリのデータのプリフェッチアドレ
スを算出することを特徴とする請求項1に記載の主記憶
メモリのプリフェッチ機構を備えたマイクロプロセッ
サ。
5. When the data in the main memory specified as necessary for the required processing of the processed data is specified by the processing cycle of the processed data,
The microprocessor having a prefetch mechanism for a main memory according to claim 1, wherein the prefetch control unit calculates a prefetch address of data in the main memory from a count value of an internal timer.
【請求項6】 前記内部メモリは、A面及びB面の2面
からなるプリフェッチメモリとキューイングバッファを
有し、 前記プリフェッチ制御部は接続されるバッファメモリの
それぞれの被処理データの前記所要処理に必要であると
特定される前記主記憶メモリのデータを前記A面及びB
面を交互に使用してプリフェッチし、 前記プロセッサコア部は、前記A面及びB面の内前記プ
リフェッチ制御部の使用していない面を参照して前記所
要処理を行い、これに伴い発生した前記主記憶メモリへ
の書き込みデータを前記キューイングバッファに蓄積し
ておくことにより、前記所要処理の結果により初めて参
照が必要となる前記主記憶メモリのデータの読み出しを
除き、前記メモリバスの使用状態に影響されることなく
前記所要処理を実行することを特徴とする請求項1に記
載の主記憶メモリのプリフェッチ機構を備えたマイクロ
プロセッサ。
6. The internal memory has a prefetch memory and a queuing buffer each of which is composed of two sides, A side and B side, and the prefetch control unit is the required processing of the processed data of each of the connected buffer memories. The data of the main memory specified as necessary for the A side and the B side.
Prefetch by alternately using planes, the processor core unit performs the required processing by referring to a plane not used by the prefetch control unit of the planes A and B, and By storing the write data to the main storage memory in the queuing buffer, the usage state of the memory bus is excluded except for the reading of the data of the main storage memory which is required to be referenced for the first time due to the result of the required processing. The microprocessor with a prefetch mechanism for a main memory according to claim 1, wherein the required processing is executed without being affected.
【請求項7】 前記プリフェッチ制御部は、 CAMにより構成されるプリフェッチアドレスメモリを
有し、当該被処理データの前記所要処理に必要であると
特定される前記主記憶メモリのデータの読み出し先であ
るプリフェッチアドレスと、このデータを格納すべき前
記プリフェッチメモリの格納先アドレスを算出して、こ
のプリフェッチアドレスメモリの同一アドレスに格納す
るプリプロセッサ部と、 当該被処理データに関する前記プリプロセッサ部の前記
プリフェッチアドレス及び前記格納先アドレスの算出の
終了を待って、前記バス制御部にプリフェッチリクェス
トを発出し前記メモリバスの使用許可を得て前記プリフ
ェッチアドレスから前記主記憶メモリのデータを読み出
し、前記プリフェッチメモリの前記格納先アドレスに格
納する処理を、前記プリフェッチアドレスメモリに格納
された全てのプリフェッチアドレスについて実行するメ
モりアクセス部とを備え、 前記プロセッサコア部は、当該被処理データに関する前
記所要処理が、前記プリプロセッサ部の実行するこの当
該被処理データの次の被処理データの前記プリフェッチ
アドレスの算出の終了に先行して終了した場合には、前
記バス制御部に優先書き込みリクェストを発出し前記メ
モリバスの使用許可を得て前記キューイングバッファに
蓄積された主記憶メモリへの書き込みデータを主記憶メ
モリに書き込む処理を前記キューイングバッファに蓄積
された全てのデータについて実行し、前記次の被処理デ
ータの前記プリフェッチアドレスの算出の終了が前記所
要処理に先行して終了した場合には、前記所要処理終了
までの間は前記バス制御部に非優先書き込みリクェスト
を発出し、また前記所要処理終了後は前記バス制御部に
優先書き込みリクェストを発出し、前記メモリバスの使
用許可を得て前記キューイングバッファに蓄積された主
記憶メモリへの書き込みデータを前記主記憶メモリに書
き込むと同時に、前記メモりアクセス部を介して前記プ
リフェッチアドレスメモリを検索し、当該主記憶メモリ
への書き込みアドレスと一致するアドレスのデータがプ
リフェッチされていた場合には検索結果から得られる前
記格納先アドレスを用いて前記主記憶メモリへの書き込
みデータで前記プリフェッチメモリを更新する処理を前
記キューイングバッファに蓄積された全てのデータにつ
いて実行するキューイングバッファ制御部を備え、 前記バス制御部は、前記プロセッサコア部の当該被処理
データに関する前記所要処理が、前記次の被処理データ
の前記プリフェッチアドレスの算出の終了に先行して終
了した場合には前記プリフェッチリクェストより優先し
て前記優先書き込みリクェストにバス使用許可を与え、
前記次の被処理データの前記プリフェッチアドレスの算
出の終了が前記プロセッサコア部の当該被処理データに
関する前記所要処理に先行して終了した場合には前記優
先書き込みリクェストより優先して前記プリフェッチリ
クェストにバス使用許可を与えるバス使用調停を行うこ
とを特徴とする請求項6に記載の主記憶メモリのプリフ
ェッチ機構を備えたマイクロプロセッサ。
7. The prefetch control unit has a prefetch address memory configured by a CAM, and is a read destination of data in the main memory specified as necessary for the required processing of the processed data. A prefetch address and a preprocessor section that calculates a storage destination address of the prefetch memory in which this data should be stored and stores the prefetch address in the same address of this prefetch address memory; After the completion of the calculation of the storage destination address, a prefetch request is issued to the bus control unit, the use permission of the memory bus is obtained, the data of the main memory is read from the prefetch address, and the storage destination of the prefetch memory is read. Store at address A memory access unit that executes a process for all prefetch addresses stored in the prefetch address memory, wherein the processor core unit executes the required process for the processed data by the preprocessor unit. When the prefetch address of the processed data next to the processed data ends prior to the end of the calculation, a priority write request is issued to the bus control unit to obtain permission to use the memory bus and the queuing is performed. The process of writing the write data to the main memory stored in the buffer to the main memory is executed for all the data stored in the queuing buffer, and the calculation of the prefetch address of the next processed data is completed. If the processing is completed prior to the required processing, the required processing Until the completion, the non-priority write request is issued to the bus control unit, and after the required processing is completed, the priority write request is issued to the bus control unit, and the queuing buffer is obtained with the permission to use the memory bus. At the same time that the write data stored in the main memory is written to the main memory, the prefetch address memory is searched through the memory access unit, and the address matching the write address to the main memory is searched. If the data has been prefetched, the process of updating the prefetch memory with the write data to the main memory using the storage destination address obtained from the search result is performed for all the data accumulated in the queuing buffer. A queuing buffer control unit for executing, the bus control unit When the required processing of the processed data of the processor core unit is completed prior to the end of the calculation of the prefetch address of the next processed data, the priority write request is given priority over the prefetch request. Give permission to use the bus,
When the end of the calculation of the prefetch address of the next processed data is completed prior to the required processing of the processed data of the processor core unit, the bus is transferred to the prefetch request with priority over the priority write request. 7. A microprocessor provided with a prefetch mechanism for a main memory according to claim 6, wherein bus utilization arbitration for giving permission of use is performed.
【請求項8】 前記プロセッサコア部は命令メモリを有
し前記所要処理は、ユーザにより外部CPUバスを介し
てこの命令メモリに格納されたプログラムに従って実行
されることを特徴とする請求項1に記載の主記憶メモリ
のプリフェッチ機構を備えたマイクロプロセッサ。
8. The processor core unit has an instruction memory, and the required processing is executed by a user through an external CPU bus in accordance with a program stored in the instruction memory. Microprocessor with prefetch mechanism for main memory.
【請求項9】 前記プリフェッチ制御部は命令メモリを
有し前記所要処理に必要であると特定される前記主記憶
メモリのデータのプリフェッチアドレスは、ユーザによ
り外部CPUバスを介してこの命令メモリに格納された
プログラムに従って算出されることを特徴とする請求項
1に記載の主記憶メモリのプリフェッチ機構を備えたマ
イクロプロセッサ。
9. The prefetch control unit has an instruction memory, and a prefetch address of the data in the main memory which is specified as necessary for the required processing is stored in the instruction memory by a user via an external CPU bus. The microprocessor provided with the prefetch mechanism of the main memory according to claim 1, wherein the microprocessor is calculated in accordance with the executed program.
【請求項10】 前記プリフェッチ制御部は命令メモリ
とワークメモリを有し前記所要処理に必要であると特定
される前記主記憶メモリのデータは、ユーザにより外部
CPUバスを介してこの命令メモリに格納されたプログ
ラムに従って、同じくユーザにより外部CPUバスを介
してこのワークメモリに展開される前記テーブルを参照
して算出されることを特徴とする請求項3または4に記
載の主記憶メモリのプリフェッチ機構を備えたマイクロ
プロセッサ。
10. The prefetch control unit has an instruction memory and a work memory, and the data of the main memory memory specified as necessary for the required processing is stored in the instruction memory by a user via an external CPU bus. The prefetch mechanism for the main memory according to claim 3 or 4, wherein the prefetch mechanism is calculated by referring to the table expanded in the work memory by the user via the external CPU bus in accordance with the executed program. Equipped microprocessor.
【請求項11】 前記内部メモリは、さらにA面及びB
面の2面からなるプリプロセスメモリを有し、 前記プリフェッチ制御部は接続されるバッファメモリの
それぞれの被処理データの前記所要処理に必要であると
特定される前記主記憶メモリのデータを前記プリフェッ
チメモリのA面及びB面を交互に使用してプリフェッチ
すると共に、それぞれの被処理データの前記所要処理の
うち、前記主記憶メモリへのデータ書き込みを必要とし
ない処理の一部または全部を実行し、実行結果を前記プ
プロセスメモリの前記A面及びB面を交互に使用して
記録し、 前記プロセッサコア部は、前記プリフェッチメモリのA
面及びB面の内前記プリフェッチ制御部の使用していな
い面及び前記プリプロセスメモリのA面及びB面の内前
記プリフェッチ制御部の使用していない面を参照して前
記所要処理のその他の処理を実行することを特徴とする
請求項6に記載の主記憶メモリのプリフェッチ機構を備
えたマイクロプロセッサ。
11. The internal memory further includes A side and B side.
The prefetch control unit has a preprocess memory having two surfaces, and the prefetch control unit prefetches data in the main memory specified to be required for the required processing of each processed data in the connected buffer memory. Prefetch by alternately using the A side and the B side of the memory, and execute some or all of the required processing of the respective processed data that does not require data writing to the main memory. , The execution result
The A surface and B surface of the reprocessing memory recorded using alternately the processor core section, the prefetch memory A
Other processing of the required processing with reference to the surface not used by the prefetch control unit among the surfaces and the B surface and the surface not used by the prefetch control unit among the surfaces A and B of the preprocess memory 7. A microprocessor having a main memory prefetch mechanism according to claim 6, wherein
JP25411198A 1998-09-08 1998-09-08 Microprocessor with main memory prefetch mechanism Expired - Fee Related JP3372873B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25411198A JP3372873B2 (en) 1998-09-08 1998-09-08 Microprocessor with main memory prefetch mechanism

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25411198A JP3372873B2 (en) 1998-09-08 1998-09-08 Microprocessor with main memory prefetch mechanism

Publications (2)

Publication Number Publication Date
JP2000090003A JP2000090003A (en) 2000-03-31
JP3372873B2 true JP3372873B2 (en) 2003-02-04

Family

ID=17260386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25411198A Expired - Fee Related JP3372873B2 (en) 1998-09-08 1998-09-08 Microprocessor with main memory prefetch mechanism

Country Status (1)

Country Link
JP (1) JP3372873B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672176B (en) * 2021-08-13 2023-12-29 济南浪潮数据技术有限公司 Data reading method, system, equipment and computer readable storage medium

Also Published As

Publication number Publication date
JP2000090003A (en) 2000-03-31

Similar Documents

Publication Publication Date Title
JP2986088B2 (en) Method and associated apparatus for operating a buffer memory
KR100524575B1 (en) Reordering a plurality of memory access request signals in a data processing system
KR100610730B1 (en) Method and apparatus for memory access scheduling to reduce memory access latency
US6587906B2 (en) Parallel multi-threaded processing
EP2377026B1 (en) Resolving contention between data bursts
JP2002530731A (en) Method and apparatus for detecting data collision on a data bus during abnormal memory access or performing memory access at different times
US5784711A (en) Data cache prefetching under control of instruction cache
JP2002530743A (en) Use the page tag register to track the state of a physical page in a memory device
JP2001290706A (en) Prefetch for tlb cache
JP2007500897A (en) Prefetch control in data processing system
JP2002268942A (en) Multi-bank access controller and multi-bank access control method
JPS63191253A (en) Preference assigner for cache memory
JP3372873B2 (en) Microprocessor with main memory prefetch mechanism
JP3420091B2 (en) Microprocessor
JP3481425B2 (en) Cache device
JP2004500608A (en) Universal resource access controller
EP1704487B1 (en) Dmac issue mechanism via streaming id method
KR100266883B1 (en) Low latency first data access in a data buffered smp memory controller
JP4111645B2 (en) Memory bus access control method after cache miss
JPH0773035A (en) Multiprocessor system
KR20040101231A (en) Method of prefetching data/instructions related to externally triggered events
JPS63101943A (en) Cache move-in control system
JPS60241136A (en) Data processor
JP3095831B2 (en) Computer operation method and computer
JP2854066B2 (en) Multiprocessor system

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071122

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081122

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091122

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121122

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121122

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131122

Year of fee payment: 11

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees