JPH11203200A - Parallel processor and memory control method - Google Patents
Parallel processor and memory control methodInfo
- Publication number
- JPH11203200A JPH11203200A JP10004324A JP432498A JPH11203200A JP H11203200 A JPH11203200 A JP H11203200A JP 10004324 A JP10004324 A JP 10004324A JP 432498 A JP432498 A JP 432498A JP H11203200 A JPH11203200 A JP H11203200A
- Authority
- JP
- Japan
- Prior art keywords
- stored
- memory
- subpage
- page
- requested
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 高い演算性能を発揮できる並列プロセッサを
提供する。
【解決手段】 サブバンク41〜44に記憶されている
サブページのそれぞれについてライトバックの必要性の
有無を示すタグデータがタグデータ領域120に記憶さ
れている。プロセッサエレメントから要求があったサブ
ページがメモリセル領域90に記憶されていない場合
に、外部アクセスバス26を介してメインメモリから読
み出された要求があったサブページを含む連続したアド
レスを持つ複数のサブページからなるページと、ライト
バックを必要とするサブページの数が少なくなるように
タグデータを参照して決定されたバンク800 〜80
m-1 に記憶されたページとを入れ替える。
(57) [Summary] [PROBLEMS] To provide a parallel processor capable of exhibiting high operation performance. SOLUTION: Tag data indicating the necessity of write-back is stored in a tag data area 120 for each of subpages stored in subbanks 41 to 44. When the subpage requested by the processor element is not stored in the memory cell area 90, a plurality of addresses having continuous addresses including the requested subpage read from the main memory via the external access bus 26 are stored. And the banks 80 0 to 80 determined by referring to the tag data such that the number of sub-pages and sub-pages requiring write-back are reduced.
Replace with the page stored in m-1 .
Description
【0001】[0001]
【発明が属する技術分野】本発明は、複数のプロセッサ
エレメントおよび共有メモリがコモンバスを介して接続
された並列プロセッサ、メモリ制御方法およびプロセッ
サに関する。The present invention relates to a parallel processor in which a plurality of processor elements and a shared memory are connected via a common bus, a memory control method, and a processor.
【0002】[0002]
【従来の技術】コンピュータでは、プロセッサエレメン
ト(PE:Processor Element) のデータアクセス速度を
高めるために、プロセッサエレメントは高速メモリに対
してのみアクセスを行う構成になっている。しかし、高
速メモリは高価であるため、高速小容量のメモリと低速
大容量のメモリとを階層的に構築したメモリ構造が採用
されている。このようなメモリ構造では、例えば、キャ
ッシュメモリ、メインメモリおよび2次記憶媒体を順に
階層的に構築し、プロセッサエレメントからのデータア
クセスにアドレスの局所性があることを利用して、プロ
セッサエレメントからのアクセス要求に応じて異なる層
のメモリ相互間で所定のラインまたはブロック(ペー
ジ)を単位としてデータを転送している。例えば、プロ
セッサエレメントのアクセス要求に応じて、キャッシュ
メモリとメインメモリとの間で、データをライン単位で
転送し、プロセッサエレメントが要求するデータがキャ
ッシュメモリに高い確率で存在するようにしている。2. Description of the Related Art In a computer, in order to increase the data access speed of a processor element (PE), the processor element accesses only a high-speed memory. However, since a high-speed memory is expensive, a memory structure in which a high-speed small-capacity memory and a low-speed large-capacity memory are hierarchically constructed is employed. In such a memory structure, for example, a cache memory, a main memory, and a secondary storage medium are sequentially and hierarchically constructed, and by utilizing the locality of addresses in data access from the processor element, Data is transferred in units of predetermined lines or blocks (pages) between memories of different layers according to access requests. For example, data is transferred between the cache memory and the main memory in line units in response to an access request from the processor element, so that the data requested by the processor element exists in the cache memory with a high probability.
【0003】このようなキャッシュメモリでは、プロセ
ッサエレメントからデータアクセスがあった場合に、キ
ャッシュメモリに記憶されているメインメモリのデータ
を管理するタグデータを参照して、当該要求があったデ
ータを含むラインがキャッシュメモリに存在するかを判
断している。キャッシュメモリでは、要求があったデー
タを含むラインがキャッシュメモリに記憶されていない
場合に、例えば、キャッシュメモリに記憶されているラ
インのうち最近アクセスされた時刻が最も古いものをメ
インメモリに退避し、要求があったデータを含むライン
をキャッシュメモリに読み出している。なお、キャッシ
ュメモリは、メインメモリとの間のデータ転送に関して
はライン単位でデータを管理しているが、一般的に、記
憶領域自体は物理的に連続している。In such a cache memory, when data is accessed from a processor element, the cache memory refers to tag data for managing data in the main memory stored in the cache memory and includes the requested data. It is determined whether the line exists in the cache memory. In the cache memory, if a line containing requested data is not stored in the cache memory, for example, the line with the oldest access time among the lines stored in the cache memory is saved in the main memory. The line containing the requested data is read into the cache memory. Note that the cache memory manages data in line units for data transfer to and from the main memory, but generally the storage area itself is physically continuous.
【0004】また、メインメモリとハードディスクなど
の2次記憶媒体との間でのデータ転送では、例えば、物
理アドレスを固定長のページと呼ばれる単位に分割して
管理するページング機構が採用されている。このような
ページング機構では、論理アドレスから物理アドレスへ
の変換をページテーブルと呼ばれるアドレス変換テーブ
ルを用いて行っている。For data transfer between a main memory and a secondary storage medium such as a hard disk, for example, a paging mechanism that divides and manages physical addresses into units called fixed-length pages is employed. In such a paging mechanism, conversion from a logical address to a physical address is performed using an address conversion table called a page table.
【0005】例えば、連想記憶方式のページテーブルで
は、そのページテーブル内に登録されているページアド
レスを用いて、要求があったページがメインメモリに記
憶されているか否かを判断するために、要求があったペ
ージのページセレクタ(識別番号)と、登録されている
ページのページセレクタとを比較する。また、2次記憶
媒体からメインメモリに、プロセッサエレメントから要
求されたページをページインするときに、ページテーブ
ルに登録されている複数のページから、それらのページ
の有効性を考慮して、無効なページを選択し、これをペ
ージ入れ替えの対象とする。そして、この選択したペー
ジが記憶されてる記憶領域に、プロセッサエレメントか
ら要求のあったページを2次記憶媒体から読み出して記
憶する。For example, in a page table of the associative memory system, a request for determining whether a requested page is stored in a main memory is determined by using a page address registered in the page table. Is compared with the page selector (identification number) of the page where there is, and the page selector of the registered page. Further, when a page requested by a processor element is paged in from the secondary storage medium to the main memory, invalid pages are taken out of a plurality of pages registered in the page table in consideration of the validity of those pages. Select a page and target it for page swapping. Then, the page requested by the processor element is read from the secondary storage medium and stored in the storage area where the selected page is stored.
【0006】また、ページテーブルに登録されているペ
ージに無効なページが存在しない場合には、例えば、ペ
ージテーブルに登録されているページのうち、例えば最
近のアクセスが最も古いページをページ入れ替えの対象
としている。If there is no invalid page in the pages registered in the page table, for example, among the pages registered in the page table, for example, the page with the oldest recent access is subjected to page replacement. And
【0007】ところで、近年、プログラム中の同時に実
行可能な複数の命令を1チップ内に組み込まれた複数の
プロセッサエレメントで並列に実行し、プログラム全体
の実行時間の短縮を図る並列プロセッサの開発が行われ
ている。このような並列プロセッサのアーキテクチャと
して種々のものが提案されているが、それらの一つとし
て、1組のコモンバス(共有バス)に、複数のプロセッ
サエレメントおよび共有メモリを接続したものがある。In recent years, a parallel processor has been developed in which a plurality of instructions that can be executed simultaneously in a program are executed in parallel by a plurality of processor elements incorporated in one chip to reduce the execution time of the entire program. Have been done. Various architectures of such a parallel processor have been proposed. One of them is one in which a plurality of processor elements and a shared memory are connected to a set of a common bus (shared bus).
【0008】図15は、従来の一般的な並列プロセッサ
1のシステム構成図である。図15に示すように、並列
プロセッサ1は、1チップ内にコモンバス2、n個のプ
ロセッサエレメント31 〜3n 、共有メモリ4およびバ
スユニット5が組み込まれており、コモンバス2にプロ
セッサエレメント31 〜3n 、共有メモリ4およびバス
ユニット5が接続されている。また、バスユニット5
は、外部のチップインタフェース6を介してメインメモ
リ7に接続されている。また、共有メモリ4のメモリセ
ル領域4aには、1個のデータポートI/Oが備えられ
ている。並列プロセッサ1では、プロセッサエレメント
31 〜3n が、共有メモリ4に記憶されているデータに
アクセスするときに、コモンバス2およびデータポート
I/Oを介してデータが伝送される。FIG. 15 is a system configuration diagram of a conventional general parallel processor 1. As shown in FIG. 15, the parallel processor 1, the common bus 2 in one chip, n pieces of processor elements 3 1 to 3 n, the shared memory 4, and the bus unit 5 is incorporated, processor element 3 1 to common bus 2 To 3 n , the shared memory 4 and the bus unit 5 are connected. In addition, the bus unit 5
Are connected to a main memory 7 via an external chip interface 6. In the memory cell area 4a of the shared memory 4, one data port I / O is provided. In the parallel processor 1, when the processor elements 3 1 to 3 n access data stored in the shared memory 4, data is transmitted via the common bus 2 and the data port I / O.
【0009】[0009]
【発明が解決しようとする課題】しかしながら、上述し
た並列プロセッサ1では、プロセッサエレメント31 〜
3n と共有メモリ4との間のデータ転送および共有メモ
リ4とメインメモリ7との間のデータ転送が共にコモン
バス2を介して行われ、しかも、共有メモリ4のメモリ
セル領域4aが1個のデータポートI/Oしか備えてい
ないため、以下に示すような理由から、プロセッサエレ
メント31 〜3n の待ち時間が長くなる可能性が高いと
いう問題がある。すなわち、共有メモリ4にページフォ
ルトが発生し、共有メモリ4とメインメモリ7との間で
ページの入れ替えを行っている間は、コモンバス2が使
用中であるため、プロセッサエレメント31 〜3n は共
有メモリ4にアクセスできない。従って、プロセッサエ
レメント31 〜3n から共有メモリ4に対してのアクセ
ス要求は、ページ入れ替え処理が終了するまで待たされ
てしまい、並列プロセッサ1の演算性能が低下してしま
う。However, in the above-described parallel processor 1, the processor elements 3 1 to 3 1
3 n and data transfer between the data transfer and the common memory 4 and the main memory 7 between the shared memory 4 are both performed through the common bus 2, moreover, shared memory 4 memory cell region 4a is one since the data port I / O only equipped, for reasons described below, there is a problem of a high possibility that the waiting time of the processor element 3 1 to 3 n is prolonged. That is, a page fault occurs in the shared memory 4, while performing the replacement of pages to and from the shared memory 4 and the main memory 7, since the common bus 2 is in use, the processor element 3 1 to 3 n is Cannot access shared memory 4. Thus, access requests to the shared memory 4 from the processor element 3 1 to 3 n is would have to wait until the page replacement process is completed, operation performance of the parallel processor 1 is decreased.
【0010】このような問題を解決するために、図16
に示すように、共有メモリ4のメモリセル領域4bに複
数個のデータポートI/O(1)〜I/O(k)を設け
ることが考えられる。これらのデータポートは、それぞ
れ対応するコモンバス10に接続されている。しかしな
がら、共有メモリ4の記憶領域全域を対象として複数の
データポートを設けると、メモリセル領域4bの面積が
大幅に増大し、並列プロセッサ1に要求されるチップ面
積との関係で、共有メモリ4のメモリ容量を削減しなけ
ればならない。その結果、共有メモリ4に十分なメモリ
容量を持たせることができず、ページフォルトの発生頻
度が高くなり、並列プロセッサ1の演算性能を低下させ
てしまうという問題が生じる。To solve such a problem, FIG.
As shown in (1), a plurality of data ports I / O (1) to I / O (k) may be provided in the memory cell area 4b of the shared memory 4. These data ports are connected to corresponding common buses 10, respectively. However, if a plurality of data ports are provided for the entire storage area of the shared memory 4, the area of the memory cell area 4 b greatly increases, and the memory area of the shared memory 4 is reduced due to the chip area required for the parallel processor 1. Memory capacity must be reduced. As a result, there is a problem that the shared memory 4 cannot have a sufficient memory capacity, the frequency of page faults increases, and the operation performance of the parallel processor 1 is reduced.
【0011】また、並列プロセッサ1では、プロセッサ
エレメント31 〜3n による共有メモリに対してのアク
セスが遅延しないように、プロセッサエレメントからの
アクセス要求に応じてメインメモリ7と共有メモリ4と
の間でのページ入れ替えを行う手法は重要である。しか
しながら、並列プロセッサのメモリ構造として特殊なも
のを用いたときには、前述した従来のメモリ階層構造で
採用した層相互間でのデータ転送手法をそのまま用いる
ことが高い演算性能を得るためには適切でない場合もあ
る。同様なことは、単数のプロセッサエレメントを用い
たプロセッサについても言える。[0011] In the parallel processor 1, as access to the shared memory by the processor element 3 1 to 3 n is not delayed, between the main memory 7 in response to the access request from the processor element and the shared memory 4 It is important to use the method of page replacement in the above. However, when a special memory structure is used for a parallel processor, it is not appropriate to use the data transfer method between layers adopted in the conventional memory hierarchy described above in order to obtain high computation performance. There is also. The same is true for a processor using a single processor element.
【0012】本発明は上述した従来技術の問題点に鑑み
てなされ、高い演算性能を発揮できる並列プロセッサ、
メモリ制御方法およびプロセッサを提供することを目的
とする。The present invention has been made in view of the above-mentioned problems of the prior art, and has a parallel processor capable of exhibiting high arithmetic performance.
It is an object to provide a memory control method and a processor.
【0013】[0013]
【課題を解決するための手段】上述した従来技術の問題
点を解決し、上述した目的を達成するために、本発明の
並列プロセッサは、それぞれ単数または複数のサブペー
ジを記憶する内部メモリを備え、当該内部メモリに記憶
されたデータを用いて演算処理を行う複数のプロセッサ
エレメントと、それぞれ複数のサブページからなる複数
のページを記憶するメインメモリと、前記複数のプロセ
ッサエレメントからアクセスされる共有メモリとを有す
る。ここで、前記共有メモリは、前記メインメモリに記
憶された前記複数のページのうち一部のページを読み出
して記憶する第1の記憶手段と、前記第1の記憶手段に
記憶されたサブページのそれぞれについて、前記メイン
メモリへの書き戻しの必要性の有無を示す特性データを
記憶する第2の記憶手段と、前記プロセッサエレメント
から要求があったサブページが前記第1の記憶手段に記
憶されていない場合に、前記メインメモリへの書き戻し
が必要なサブページの数が少なくなるように前記第1の
記憶手段に記憶されている複数のページのなかから置き
換え対象とするページを前記特性データを参照して決定
し、当該決定されたページが記憶されている前記第1の
記憶手段の記憶領域に、前記メインメモリに記憶されて
いる前記プロセッサエレメントから要求があったサブペ
ージを含むページを読み出して記憶するように制御する
制御手段とを有する。In order to solve the above-mentioned problems of the prior art and to achieve the above-mentioned object, the parallel processor of the present invention has an internal memory for storing one or more subpages. A plurality of processor elements that perform arithmetic processing using data stored in the internal memory, a main memory that stores a plurality of pages each including a plurality of subpages, and a shared memory that is accessed from the plurality of processor elements And Here, the shared memory is configured to read and store a partial page of the plurality of pages stored in the main memory, and to store a subpage stored in the first storage unit. For each of them, a second storage means for storing characteristic data indicating whether or not it is necessary to write back to the main memory, and a subpage requested by the processor element is stored in the first storage means. When there is no page, the page to be replaced is selected from the plurality of pages stored in the first storage means so that the number of subpages that need to be written back to the main memory is reduced. The processor page stored in the main memory is stored in the storage area of the first storage unit where the reference page is determined and the determined page is stored. And a control means for controlling to read out stored page containing the subpage has been requested from the instrument.
【0014】本発明の並列プロセッサでは、プロセッサ
エレメントによる演算処理が実行されているときに、必
要なデータを含むサブページが内部メモリに記憶されて
いないと判断されると、プロセッサエレメントから共有
メモリに当該サブページが要求される。そして、前記共
有メモリの制御手段によって、プロセッサエレメントか
ら要求があったサブページが前記複数のサブバンクの何
れにも記憶されていないと判断された場合には、前記第
2の記憶手段に記憶された特性データが参照され、前記
メインメモリへの書き戻しが必要なサブページの数が少
なくなるように前記第1の記憶手段に記憶されている複
数のページのなかから置き換え対象とするページが決定
される。そして、前記制御手段によって、前記決定され
たページが記憶されている前記第1の記憶手段の記憶領
域に、前記メインメモリに記憶されている前記プロセッ
サエレメントから要求があったサブページを含むページ
を読み出して記憶するように制御される。そして、前記
第1の記憶手段から前記要求を出したプロセッサエレメ
ントの内部メモリに、前記要求があったサブページが転
送および記憶される。当該要求があったサブページのデ
ータは、プロセッサエレメントによる演算処理に用いら
れる。In the parallel processor of the present invention, when it is determined that the subpage including the necessary data is not stored in the internal memory during the operation processing by the processor element, the processor element transfers the data to the shared memory. The subpage is requested. If the control unit of the shared memory determines that the subpage requested by the processor element is not stored in any of the plurality of subbanks, the subpage is stored in the second storage unit. The page to be replaced is determined from the plurality of pages stored in the first storage means so that the number of subpages that need to be written back to the main memory is reduced with reference to the characteristic data. You. The control unit stores a page including a subpage requested by the processor element stored in the main memory in a storage area of the first storage unit in which the determined page is stored. It is controlled to read and store. Then, the requested subpage is transferred and stored from the first storage unit to the internal memory of the processor element that has issued the request. The data of the requested subpage is used for arithmetic processing by the processor element.
【0015】また、本発明の並列プロセッサでは、前記
共有メモリの制御手段において、当該要求があったサブ
ページが第1の記憶手段に記憶されているか否かが判断
され、記憶されていると判断された場合には、当該要求
があったサブページが前記第1の記憶手段から前記要求
があったプロセッサエレメントの内部メモリに転送およ
び記憶される。当該要求があったサブページのデータ
は、プロセッサエレメントによる演算処理に用いられ
る。In the parallel processor according to the present invention, the control means of the shared memory determines whether the requested subpage is stored in the first storage means, and determines that the subpage is stored. If so, the requested subpage is transferred and stored from the first storage means to the internal memory of the requested processor element. The data of the requested subpage is used for arithmetic processing by the processor element.
【0016】また、本発明の第1の観点のメモリ制御方
法は、メインメモリに記憶されたそれぞれ複数のサブペ
ージからなる複数のページのうち一部のページを、複数
のプロセッサエレメントからアクセスされる共有メモリ
に記憶し、前記複数のプロセッサエレメントのうち任意
のプロセッサエレメントから要求があったサブページを
前記共有メモリから読み出して前記要求を出したプロセ
ッサエレメントに出力するメモリ制御方法であって、前
記プロセッサエレメントから要求があったサブページが
前記共有メモリに記憶されていない場合に、前記メイン
メモリへの書き戻しが必要なサブページの数が少なくな
るように前記共有メモリに記憶されている複数のページ
のなかから置き換え対象とするページを、前記共有メモ
リに記憶されたサブページのそれぞれについて前記メイ
ンメモリへの書き戻しの必要性の有無を示す前記特性デ
ータを参照して決定する。そして、当該決定されたペー
ジが記憶されている前記共有メモリの記憶領域に、前記
メインメモリに記憶されている前記プロセッサエレメン
トから要求があったサブページを含むページを読み出し
て記憶する。そして、前記共有メモリから前記要求があ
ったサブページを読み出して前記要求を出したプロセッ
サエレメントに出力する。Further, in the memory control method according to the first aspect of the present invention, a part of a plurality of pages each including a plurality of subpages stored in a main memory is accessed from a plurality of processor elements. A memory control method for storing in a shared memory, reading a subpage requested from an arbitrary processor element among the plurality of processor elements from the shared memory, and outputting the read subpage to the processor element that has issued the request, wherein the processor When a subpage requested by an element is not stored in the shared memory, a plurality of pages stored in the shared memory so that the number of subpages that need to be written back to the main memory is reduced. The page to be replaced from among the pages is stored in the shared memory. For each page determined by referring to the characteristic data indicating the presence or absence of a need for write-back to the main memory. Then, a page including a subpage requested by the processor element stored in the main memory is read and stored in a storage area of the shared memory in which the determined page is stored. Then, the requested subpage is read from the shared memory and output to the processor element that issued the request.
【0017】また、本発明のプロセッサは、単数または
複数のサブページを記憶する内部メモリを備え、当該内
部メモリに記憶されたデータを用いて演算処理を行う単
数のプロセッサエレメントと、それぞれ複数のサブペー
ジからなる複数のページを記憶するメインメモリと、前
記プロセッサエレメントからアクセスされる中間メモリ
とを有する。ここで、前記中間メモリは、前記メインメ
モリに記憶された前記複数のページのうち一部のページ
を読み出して記憶する第1の記憶手段と、前記第1の記
憶手段に記憶されたサブページのそれぞれについて、前
記メインメモリへの書き戻しの必要性の有無を示す特性
データを記憶する第2の記憶手段と、前記プロセッサエ
レメントから要求があったサブページが前記第1の記憶
手段に記憶されていない場合に、前記メインメモリへの
書き戻しが必要なサブページの数が少なくなるように前
記第1の記憶手段に記憶されている複数のページのなか
から置き換え対象とするページを前記特性データを参照
して決定し、当該決定されたページが記憶されている前
記第1の記憶手段の記憶領域に、前記メインメモリに記
憶されている前記プロセッサエレメントから要求があっ
たサブページを含むページを読み出して記憶するように
制御する制御手段とを有する。Further, the processor of the present invention has an internal memory for storing one or more subpages, and a single processor element for performing arithmetic processing using data stored in the internal memory, and a plurality of subelements. A main memory for storing a plurality of pages, and an intermediate memory accessed by the processor element; Here, the intermediate memory reads out and stores a part of the plurality of pages stored in the main memory, and a sub-page stored in the first storage unit. For each of them, a second storage means for storing characteristic data indicating whether or not it is necessary to write back to the main memory, and a subpage requested by the processor element is stored in the first storage means. When there is no page, the page to be replaced is selected from the plurality of pages stored in the first storage means so that the number of subpages that need to be written back to the main memory is reduced. The processor page stored in the main memory is stored in the storage area of the first storage unit where the reference page is determined and the determined page is stored. And a control means for controlling to read out stored page containing the subpage has been requested from the instrument.
【0018】本発明のプロセッサは、単数のプロセッサ
エレメントの場合にも適用される。本発明のプロセッサ
では、プロセッサエレメントによる演算処理が実行され
ているときに、必要なデータを含むサブページが内部メ
モリに記憶されていないと判断されると、プロセッサエ
レメントから中間メモリに当該サブページが要求され
る。そして、前記中間メモリの制御手段によって、プロ
セッサエレメントから要求があったサブページが前記複
数のサブバンクの何れにも記憶されていないと判断され
た場合には、前記第2の記憶手段に記憶された特性デー
タが参照され、前記メインメモリへの書き戻しが必要な
サブページの数が少なくなるように前記第1の記憶手段
に記憶されている複数のページのなかから置き換え対象
とするページが決定される。そして、前記制御手段によ
って、前記決定されたページが記憶されている前記第1
の記憶手段の記憶領域に、前記メインメモリに記憶され
ている前記プロセッサエレメントから要求があったサブ
ページを含むページを読み出して記憶するように制御さ
れる。そして、前記第1の記憶手段から前記プロセッサ
エレメントの内部メモリに、前記要求があったサブペー
ジが転送および記憶される。当該要求があったサブペー
ジのデータは、プロセッサエレメントによる演算処理に
用いられる。The processor of the present invention is also applicable to a single processor element. In the processor of the present invention, when it is determined that the subpage including the necessary data is not stored in the internal memory while the arithmetic processing is being performed by the processor element, the subpage is stored in the intermediate memory from the processor element. Required. When the control unit of the intermediate memory determines that the subpage requested by the processor element is not stored in any of the plurality of subbanks, the subpage is stored in the second storage unit. The page to be replaced is determined from the plurality of pages stored in the first storage means so that the number of subpages that need to be written back to the main memory is reduced with reference to the characteristic data. You. Then, the first means in which the determined page is stored by the control means.
Is controlled so that a page including a subpage requested by the processor element stored in the main memory is read and stored in a storage area of the storage means. Then, the requested subpage is transferred and stored from the first storage unit to the internal memory of the processor element. The data of the requested subpage is used for arithmetic processing by the processor element.
【0019】また、本発明の第2の観点のメモリ制御方
法は、メインメモリに記憶されたそれぞれ複数のサブペ
ージからなる複数のページのうち一部のページを中間メ
モリに記憶し、プロセッサエレメントから要求があった
サブページを前記中間メモリから読み出して前記プロセ
ッサエレメントに出力するメモリ制御方法であって、前
記プロセッサエレメントから要求があったサブページが
前記中間メモリに記憶されていない場合に、前記メイン
メモリへの書き戻しが必要なサブページの数が少なくな
るように前記中間メモリに記憶されている複数のページ
のなかから置き換え対象とするページを、前記中間メモ
リに記憶されたサブページのそれぞれについて前記メイ
ンメモリへの書き戻しの必要性の有無を示す前記特性デ
ータを参照して決定する。そして、当該決定されたペー
ジが記憶されている前記中間メモリの記憶領域に、前記
メインメモリに記憶されている前記プロセッサエレメン
トから要求があったサブページを含むページを読み出し
て記憶する。そして、前記中間メモリから前記要求があ
ったサブページを読み出して前記プロセッサエレメント
に出力する。Also, in the memory control method according to the second aspect of the present invention, a part of a plurality of pages each including a plurality of subpages stored in a main memory is stored in an intermediate memory, A memory control method for reading a requested subpage from the intermediate memory and outputting the read subpage to the processor element, wherein the subpage requested by the processor element is not stored in the intermediate memory. A page to be replaced is selected from among a plurality of pages stored in the intermediate memory so as to reduce the number of subpages that need to be written back to the memory for each of the subpages stored in the intermediate memory. A decision is made with reference to the characteristic data indicating whether or not it is necessary to write back to the main memory. To. Then, a page including a subpage requested by the processor element stored in the main memory is read and stored in a storage area of the intermediate memory in which the determined page is stored. Then, the requested subpage is read from the intermediate memory and output to the processor element.
【0020】[0020]
【発明の実施の形態】以下、本発明の実施形態に係わる
並列プロセッサ、プロセッサおよびメモリ制御方法につ
いて詳細に説明する。図1は、本実施形態の並列プロセ
ッサ21のシステム構成図である。図1に示すように、
並列プロセッサ21は、例えば、第1のバスとしてのコ
モンバス22、プロセッサエレメント231 〜23n 、
共有メモリ24、バスユニット25および第2のバスと
しての外部アクセスバス26を有する。DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a parallel processor, a processor and a memory control method according to an embodiment of the present invention will be described in detail. FIG. 1 is a system configuration diagram of the parallel processor 21 of the present embodiment. As shown in FIG.
Parallel processor 21 may be, for example, common bus 22, the processor element 23 1 ~ 23 n as a first bus,
It has a shared memory 24, a bus unit 25, and an external access bus 26 as a second bus.
【0021】並列プロセッサ21では、コモンバス22
に、プロセッサエレメント231 〜23n および共有メ
モリ24が接続されている。また、外部アクセスバス2
6に、共有メモリ24およびバスユニット25が接続さ
れている。In the parallel processor 21, the common bus 22
The processor element 23 1 ~ 23 n and the shared memory 24 is connected. External access bus 2
6, a shared memory 24 and a bus unit 25 are connected.
【0022】コモンバス22は128ビットのバス幅を
有し、外部アクセスバス26は32ビットのバス幅を有
している。コモンバス22は、外部アクセスバス26に
比べて4倍以上のデータ転送速度を持つ。なお、コモン
バス22と外部アクセスバス26とのバス幅を同じにす
ることも可能である。プロセッサエレメント231 〜2
3n は、例えば、並列プロセッサ1がMIMD(Multipl
e Instruction Multiple Data)型の並列プロセッサの場
合には、個々にプログラムカウンタを持ち、当該プログ
ラムカウンタによって指し示される図示しないインスト
ラクションメモリのアドレスに記憶された命令に応じた
処理を相互に独立して行う。プロセッサエレメント23
1 〜23n としては、例えば、RISC(Reduced Instr
uction Set Computer)型の汎用プロセッサが用いられ
る。The common bus 22 has a bus width of 128 bits, and the external access bus 26 has a bus width of 32 bits. The common bus 22 has a data transfer speed four times or more that of the external access bus 26. The bus width of the common bus 22 and the external access bus 26 can be the same. The processor element 23 1-2
3 n indicates, for example, that the parallel processor 1 has a MIMD (Multipl
e Instruction Multiple Data) type parallel processors have individual program counters, and perform processing in accordance with instructions stored at addresses of instruction memory (not shown) indicated by the program counters independently of each other. . Processor element 23
1 The ~ 23 n, for example, RISC (Reduced Instr
A general-purpose processor of the auction set computer type is used.
【0023】プロセッサエレメント231 〜23n は、
それぞれ複数のサブページ、例えば、3個のサブページ
を記憶可能な内部メモリとしてのサブバンク271 ,2
72,273 を備えている。ここで、サブページは、メ
インメモリ7上の連続したアドレスの記憶領域に記憶さ
れた512バイトのデータであり、4個の連続したアド
レスのサブページによって1ページが構成される。な
お、プロセッサエレメント231 〜23n が備えている
サブバンクの数を、相互に異なるようにすることも可能
である。プロセッサエレメント231 〜23n は、後述
するように、共有メモリ24からサブページを読み込ん
でサブバンク271 〜273 に記憶するが、プロセッサ
エレメント231 〜23n の相互間およびサブバンク2
71 〜273 の相互間で異なるページのサブページを記
憶できる。バスユニット25は、並列プロセッサ21の
外部に設けられたチップインタフェース6を介してメイ
ンメモリ7に接続されている。メインメモリ7は、4G
バイトの連続したアドレスを持つメモリ空間を有する。The processor elements 23 1 to 23 n are:
Each of a plurality of subpages, for example, subbanks 27 1 , 2 as internal memories capable of storing three subpages
And a 7 2, 27 3. Here, the subpage is 512-byte data stored in a storage area of a continuous address on the main memory 7, and one page is constituted by the subpages of four continuous addresses. Incidentally, the number of sub-banks by the processor element 23 1 ~ 23 n are provided, it is also possible to mutually different. Processor elements 23 1 ~ 23 n, as described later, is stored in the sub-banks 27 1-27 3 reads the sub-page from the shared memory 24, the processor element 23 1 ~ 23 n each other and sub-bank 2
7 1-27 can store subpage different pages among three mutually. The bus unit 25 is connected to the main memory 7 via the chip interface 6 provided outside the parallel processor 21. Main memory 7 is 4G
It has a memory space with consecutive addresses of bytes.
【0024】図2は、図1に示す共有メモリ24の構成
図である。図2に示すように、共有メモリ24は、例え
ば、コモンバス用制御回路31、外部バス用制御回路3
2、制御回路33、メモリ内部バス51,52、マルチ
プレクサ(MUX)53,54,55,56、第1の記
憶手段としてのメモリセル領域90、アドレスデコーダ
57,58,59,60、第2の記憶手段としてのタグ
データ領域120およびリクエストキュー125を有す
る。FIG. 2 is a configuration diagram of the shared memory 24 shown in FIG. As shown in FIG. 2, the shared memory 24 includes, for example, a common bus control circuit 31 and an external bus control circuit 3.
2, control circuit 33, memory internal buses 51, 52, multiplexers (MUX) 53, 54, 55, 56, memory cell area 90 as first storage means, address decoders 57, 58, 59, 60, second It has a tag data area 120 and a request queue 125 as storage means.
【0025】なお、本実施形態では、コモンバス用制御
回路31、外部バス用制御回路32および制御回路33
が本発明の制御手段として機能する。制御回路33は、
コモンバス用制御回路31、外部バス用制御回路32、
マルチプレクサ53〜56、アドレスデコーダ57〜6
0を制御する。また、制御回路33は、プロセッサエレ
メント231 〜23n からサブページ置き換え要求信号
(アクセス要求)を入力した場合に、要求があったサブ
ページがメモリセル領域90に記憶されているか否か
(ページヒットの有無)をタグデータ領域120に記憶
された特性データとしてタグデータを参照して判断し、
ページフォルトが発生したと判断した場合には、図4を
用いて後述する方法で、メモリセル領域90に記憶され
ている複数のページの中から、メインメモリ7からペー
ジインするページと置き換えを行う対象とするページを
決定する。また、制御回路33は、プロセッサエレメン
ト231 〜23n から要求があったサブページを最初に
メインメモリ7から共有メモリ24に転送するように、
共有メモリ24とメインメモリ7との間のページ転送を
制御する。In this embodiment, the control circuit 31 for the common bus, the control circuit 32 for the external bus, and the control circuit 33
Function as control means of the present invention. The control circuit 33
A control circuit 31 for a common bus, a control circuit 32 for an external bus,
Multiplexers 53-56, address decoders 57-6
Control 0. Further, the control circuit 33 determines whether if you enter a sub-page replacement request signal (access request) from the processor element 23 1 ~ 23 n, sub-page there is a request are stored in the memory cell region 90 (page (The presence or absence of a hit) is determined by referring to the tag data as the characteristic data stored in the tag data area 120,
If it is determined that a page fault has occurred, a page to be paged in from the main memory 7 is replaced from a plurality of pages stored in the memory cell area 90 by a method described later with reference to FIG. Determine the target page. Further, the control circuit 33 to transfer from the first main memory 7 subpages there is a request from the processor element 23 1 ~ 23 n to the shared memory 24,
The page transfer between the shared memory 24 and the main memory 7 is controlled.
【0026】コモンバス用制御回路31は、メモリ内部
バス51およびコモンバス22を介したプロセッサエレ
メント231 〜23n とメモリサブバンク41〜44と
の間のサブページの転送を制御する。具体的には、コモ
ンバス用制御回路31は、制御回路33から制御信号に
基づいて、制御信号S31を出力してアドレスデコーダ
57〜60を制御すると共に、マルチプレクサ53〜5
4の切り換え制御を行う。The common bus control circuit 31 controls the transfer of subpage between the processor elements 23 1 ~ 23 n and the memory sub-banks 41 to 44 through the memory internal bus 51 and common bus 22. More specifically, the common bus control circuit 31 controls the address decoders 57 to 60 by outputting a control signal S31 based on the control signal from the control circuit 33, and also controls the multiplexers 53 to 5.
4 is controlled.
【0027】外部バス用制御回路32は、メモリ内部バ
ス52および外部アクセスバス26を介したメモリサブ
バンク41〜44とメインメモリ7との間のページの転
送を制御する。具体的には、外部バス用制御回路32
は、制御回路33からの制御信号に基づいて、制御信号
S32を出力してアドレスデコーダ57〜60を制御す
ると共に、マルチプレクサ53〜54の切り換え制御を
行う。The external bus control circuit 32 controls page transfer between the memory subbanks 41 to 44 and the main memory 7 via the memory internal bus 52 and the external access bus 26. Specifically, the external bus control circuit 32
Outputs a control signal S32 based on a control signal from the control circuit 33 to control the address decoders 57 to 60 and to control switching of the multiplexers 53 to 54.
【0028】マルチプレクサ53〜56は、制御信号S
31,S32および制御回路33からの制御信号に基づ
いて、それぞれメモリサブバンク41〜44を、メモリ
内部バス51および52の何れか一方と接続する。The multiplexers 53 to 56 output control signals S
The memory sub-banks 41 to 44 are connected to one of the memory internal buses 51 and 52 based on the control signals from the control circuit 31 and S32 and the control circuit 33, respectively.
【0029】アドレスデコーダ57〜60は、制御信号
S31,S32をデコードして、それぞれメモリサブバ
ンク41〜44に対してのアクセスを制御する。The address decoders 57 to 60 decode the control signals S31 and S32, and control access to the memory subbanks 41 to 44, respectively.
【0030】メモリセル領域90は、4個のメモリサブ
バンク41〜44に物理的に等分に分割されている。メ
モリサブバンク41〜44は、それぞれ単数のデータポ
ートを備えている。また、メモリセル領域90は、それ
ぞれメモリサブバンク41〜44に対して等分に跨がる
ように、m個のバンク800 〜80m-1 によって区切ら
れている。メモリサブバンク41〜44は、例えば、そ
れぞれm個のサブページを記憶可能な記憶容量を有す
る。なお、サブページは、例えば、画像データである。
メモリサブバンク41〜44は、それぞれマルチプレク
サ53〜56、メモリ内部バス51およびコモンバス2
2を介して、プロセッサエレメント231 〜23n との
間で、データ転送をサブページ単位で行う。ここで、デ
ータ転送には、プロセッサエレメント231 〜23n か
らメモリサブバンク41〜44にデータを書き込む動
作、メモリサブバンク41〜44からプロセッサエレメ
ント231〜23n にデータを読み出す動作、および、
その両方の動作が含まれる。The memory cell area 90 is physically divided equally into four memory sub-banks 41 to 44. Each of the memory sub-banks 41 to 44 has a single data port. The memory cell area 90 is divided by m banks 80 0 to 80 m−1 so as to equally lie over the memory sub-banks 41 to 44, respectively. Each of the memory subbanks 41 to 44 has a storage capacity capable of storing, for example, m subpages. The subpage is, for example, image data.
The memory sub-banks 41 to 44 include multiplexers 53 to 56, a memory internal bus 51, and a common bus 2 respectively.
Through 2, between the processor elements 23 1 ~ 23 n, transfer data sub-page basis. Here, the data transfer operation for writing data from the processor element 23 1 ~ 23 n to the memory sub-banks 41 to 44, operation of reading data from the memory sub-banks 41 to 44 processor element 23 1 ~ 23 n, and,
Both operations are included.
【0031】コモンバス22は128ビットのバス幅を
有することから、サブページが1回当たりのデータ転送
の単位となるコモンバス22を介したバスオペレーショ
ンでは、512バイトのサブページを転送するには、3
2(=512×8/128)回分のバストランザクショ
ンが最低限必要である。Since the common bus 22 has a bus width of 128 bits, in the bus operation via the common bus 22 in which the subpage is a unit of data transfer per transfer, to transfer a 512-byte subpage, 3 bytes are required.
At least two (= 512 × 8/128) bus transactions are required.
【0032】また、メモリサブバンク41〜44は、マ
ルチプレクサ53〜56、メモリ内部バス52および外
部アクセスバス26を介して、各バンク800 〜80
m-1 に記憶されるページ単位で、メインメモリ7との間
でデータ転送を行う。ここで、1ページは2Kバイトで
あり、4個のサブページからなる。従って、プロセッサ
エレメント231 〜23n がアクセスしようとするサブ
ページの先頭アドレスが、図3に示すA番地、(A+5
12)番地、(A+1024)番地あるいは(A+15
36)番地である場合には、メインメモリ7からA番地
から2Kバイトの連続したアドレスに記憶された1ペー
ジ分のデータを共有メモリ24に転送し、この1ページ
分のデータを4個のサブページに分割して、各バンク8
00 〜80m に記憶する。本実施形態では、メインメモ
リ7の4Gバイトのメモリ空間を、32ビットのアドレ
スで指し示している。ここで、この32ビットのアドレ
スのうち、31〜11ビット目がページの先頭アドレス
を示し、10〜0ビット目がページ内のアドレスを示し
ている。また、10ビット目および9ビット目がサブバ
ンクを示している。The memory subbanks 41 to 44 are connected to the respective banks 80 0 to 80 via multiplexers 53 to 56, a memory internal bus 52 and an external access bus 26.
Data is transferred to and from the main memory 7 in page units stored in m-1 . Here, one page is 2 Kbytes and is composed of four subpages. Therefore, the start address of the sub-pages processor elements 23 1 ~ 23 n is trying to access is, A address indicated in Fig. 3, (A + 5
12) Address, (A + 1024) address or (A + 15)
36) If the address is an address, one page of data stored at a continuous address of 2 Kbytes from address A is transferred from the main memory 7 to the shared memory 24, and this one page of data is transferred to four sub-addresses. Divided into pages, each bank 8
Store it in the range from 0 to 80 m . In the present embodiment, the 4 GB memory space of the main memory 7 is indicated by a 32-bit address. Here, of the 32-bit address, the 31st to 11th bits indicate the head address of the page, and the 10th to 0th bits indicate the address in the page. The 10th and 9th bits indicate the subbank.
【0033】メモリサブバンク41〜44に記憶されて
いるサブページは、全てのプロセッサエレメント231
〜23n で共有できるように、システム全体で、サブペ
ージのデータ量を統一することが望ましい。本実施形態
では、プロセッサエレメント231 〜23n のサブバン
ク271 のメモリ容量を512バイトとし、サブページ
のデータ量も512バイトとしている。ここで、外部ア
クセスバス26は32ビットのバス幅を有するため、ペ
ージがデータ転送の単位となる外部アクセスバス26を
介した1回当たりのバスオペレーションでは、2Kバイ
トのページを転送するために、512(=2048×8
/32)回分のバストランザクションが最低限必要であ
る。The subpages stored in the memory subbanks 41 to 44 are stored in all the processor elements 23 1
It is desirable to unify the data amount of the subpages throughout the system so that the data can be shared by 23 n . In the present embodiment, the memory capacity of the sub-banks 27 1 of the processor elements 23 1 ~ 23 n to 512 bytes, the data amount of the sub-page is also 512 bytes. Here, since the external access bus 26 has a bus width of 32 bits, in a single bus operation via the external access bus 26 in which a page is a unit of data transfer, a 2K byte page is transferred. 512 (= 2048 × 8
/ 32) The minimum number of bus transactions is required.
【0034】タグデータ領域120は、図2に示すよう
に、メモリサブバンク41〜44からなるメモリセル領
域90に記憶されたサブページの特性データとしてのタ
グデータを記憶する。タグデータ領域120は、バンク
800 〜80m-1 に対応したタグバンク1300 〜13
0m-1 を有し、タグバンク1300 〜130m-1 には、
それぞれバンク800 〜80m に記憶されているサブペ
ージの特性を示すデータが記憶されている。タグデータ
は、バリッド識別領域121、ダーディ識別領域122
およびページセレクタ領域123から構成される。As shown in FIG. 2, the tag data area 120 stores tag data as characteristic data of the subpage stored in the memory cell area 90 including the memory subbanks 41 to 44. The tag data area 120 includes tag banks 130 0 to 13 corresponding to the banks 80 0 to 80 m -1.
0 m-1 and the tag banks 130 0 to 130 m-1 have:
Data indicating characteristics of the subpages stored in the banks 80 0 to 80 m are stored. The tag data includes a valid identification area 121 and a daddy identification area 122.
And a page selector area 123.
【0035】バリッド識別領域121は、各サブページ
のデータの有効性を示す1ビットのバリッドビットを、
サブページの数だけ備えている。例えば、バリッド識別
領域121には、有効なサブページに対応するバリッド
ビットにバリッドを示す「1」がセットされ、有効でな
い(無効な)サブページに対応するバリッドビットにイ
ンバリッドを示す「0」がセットされている。The valid identification area 121 stores one valid bit indicating the validity of the data of each subpage.
It has as many subpages. For example, in the valid identification area 121, “1” indicating valid is set in a valid bit corresponding to a valid subpage, and “0” indicating invalid is set in a valid bit corresponding to an invalid (invalid) subpage. Is set.
【0036】ダーディ識別領域122は、各サブページ
のデータがダーティであるか否かを示す1ビットのダー
ティビットを、サブページの数だけ備えている。ここ
で、ダーティであるとは、当該サブページに、プロセッ
サエレメント231 〜23n から書き込みがあったこと
を意味し、当該サブページが記憶されている記憶領域を
開放するときに、当該サブページをメインメモリ7に書
き戻す必要がある。すなわち、ライトバックを行う必要
がある。例えば、ダーディ識別領域122には、ダーテ
ィなサブページに対応するダーティビットにバリッドを
示す「1」がセットされ、ダーティでないサブページに
対応するダーティビットにインバリッドを示す「0」が
セットされている。The dirty identification area 122 has one dirty bit, which indicates whether or not the data of each subpage is dirty, by the number of subpages. Here, it is dirty, to the sub-page, when means that has been written from the processor element 23 1 ~ 23 n, releases the storage area in which the sub-page is stored, the sub-page Must be written back to the main memory 7. That is, it is necessary to perform write back. For example, in the dirty identification area 122, a dirty bit corresponding to a dirty subpage is set to “1” indicating validity, and a dirty bit corresponding to a non-dirty subpage is set to “0” indicating invalidity. .
【0037】ページセレクタ領域123は、バンク80
0 〜80m に記憶されているページの識別番号(例え
ば、ページの先頭アドレス)を示すページセレクタを有
する。The page selector area 123 includes the bank 80
It has a page selector that indicates the page identification number (for example, the top address of the page) stored in 0 to 80 m .
【0038】また、リクエストキュー125は、コモン
バス22およびメモリ内部バス51を介して発生した共
有メモリ4に対してのプロセッサエレメント231 〜2
3nからのアクセス要求が競合した場合に、アクセス要
求をキューに蓄え、順に処理する。Further, the request queue 125, the processor element 23 21 to the to the shared memory 4 generated through the common bus 22 and a memory internal bus 51
If the access request from 3 n conflict, accumulated access requests in a queue and processed in order.
【0039】以下、並列プロセッサ21の動作について
説明する。図4は、並列プロセッサ21の動作を説明す
るためのフローチャートである。以下、プロセッサエレ
メント231 〜23n から共有メモリ24にアクセスが
あった場合に、共有メモリ24がページヒットした場合
とページミスした場合との並列プロセッサ21の動作を
図4を参照しながら説明する。なお、図6、図8、図1
0、図11および図12に示すタグデータにおいて、本
実施形態の説明に関係のないビットは空白になってい
る。但し、実際のタグデータでは、これらの空白になっ
ているビットに「1」または「0」がセットされてい
る。Hereinafter, the operation of the parallel processor 21 will be described. FIG. 4 is a flowchart for explaining the operation of the parallel processor 21. Hereinafter, when there is access to the shared memory 24 from the processor element 23 1 ~ 23 n, will be described with reference to FIG. 4 the operation of the parallel processor 21 of the case of the shared memory 24 is when a page miss you page hit . 6, 8, and 1.
0, bits irrelevant to the description of the present embodiment in the tag data shown in FIGS. 11 and 12 are blank. However, in the actual tag data, “1” or “0” is set in these blank bits.
【0040】ページヒットした場合 〔ページ置き換えが不要な場合〕図5では、メモリセル
領域90におけるメモリサブバンク41〜44のバンク
806 に、それぞれサブページ91〜94が記憶されて
いる。また、図6では、タグデータ領域120に記憶さ
れたタグデータにおける、バンク806 に対応するタグ
バンク1306 に記憶されたバリッド識別領域121の
うち、メモリサブバンク42についてのバリッドビット
が「1」、すなわち、有効(バリッド)であることを示
している。図5および図6に示す場合に、例えば、プロ
セッサエレメント233 において、読み出し要求が発生
したアドレスを含むサブページ92が、プロセッサエレ
メント233 内のサブバンク271 〜273 に記憶され
ていないときに、サブページ92についてのサブページ
置き換え要求信号がプロセッサエレメント233 から共
有メモリ24に出力される(ステップS1)。[0040] In case of page hit [if the page replacement is not required] FIG 5, the bank 80 6 of the memory sub-banks 41 to 44 in the memory cell region 90, the sub-page 91 to 94 respectively are stored. Further, in FIG. 6, in the stored tag data to the tag data area 120, among the valid identification area 121 stored in Tagubanku 130 6 corresponding to the bank 80 6, the valid bit for the memory sub-bank 42 is "1", That is, it indicates that it is valid (valid). In the case shown in FIGS. 5 and 6, for example, the processor element 23 3, when the sub-page 92 that includes the address read request occurs is not stored in the sub-banks 27 1-27 3 processor element 23 3 , sub-page replacement request signal for the sub-page 92 is output to the shared memory 24 from the processor element 23 3 (step S1).
【0041】そして、制御回路33において、サブペー
ジ置き換え要求信号に示されるサブページ92がメモリ
サブバンク41〜44に記憶されているか否かが、タグ
データ領域120に記憶されているタグデータのページ
セレクタ領域123を参照して判断される(ステップS
2)。具体的には、サブページ置き換え要求信号に示さ
れるサブページ92のページセレクタと、タグバンク1
300 〜130m-1 の全てに記憶されているページセレ
クタ領域123のページセレクタとが比較される。そし
て、例えば、サブページ92のページセレクタとタグバ
ンク1306 に記憶されているページセレクタとが一致
した場合には、タグバンク1306 に対応するバンク8
06 に当該要求があったサブページ92が記憶されてい
ると判断される。また、サブページ置き換え要求信号に
よって示されるサブページ92のアドレスの9ビット目
および10ビット目から、サブページ92がメモリサブ
バンク42に記憶されていると判断される。The control circuit 33 determines whether or not the subpage 92 indicated by the subpage replacement request signal is stored in the memory subbanks 41 to 44 by checking the page selector of the tag data stored in the tag data area 120. The determination is made with reference to the area 123 (step S
2). Specifically, the page selector of the subpage 92 indicated by the subpage replacement request signal and the tag bank 1
30 0-130 and page selector page selector area 123 are all in the memory of the m-1 are compared. Then, for example, when the page selector stored in the page selector and Tagubanku 130 6 subpage 92 matches the bank corresponds to Tagubanku 130 6 8
0 6 subpages 92 there is the request is determined to be stored in. Also, it is determined from the ninth and tenth bits of the address of the subpage 92 indicated by the subpage replacement request signal that the subpage 92 is stored in the memory subbank 42.
【0042】次に、制御回路33によって、タグデータ
のバリッド識別領域121におけるタグバンク1306
のメモリサブバンク42についてのバリッドビットがバ
リッド「1」およびインバリッド「0」の何れであるか
が判断される(ステップS3)。このとき、図6に示す
ように、タグバンク1306 のサブバンク42ついての
バリッドビットが「1」、すなわち有効であると判断さ
れる。Next, the control circuit 33 controls the tag bank 130 6 in the tag data valid identification area 121.
It is determined whether the valid bit of the memory sub-bank 42 is valid “1” or invalid “0” (step S3). At this time, as shown in FIG. 6, the valid bit of with sub-bank 42 of Tagubanku 130 6 is determined to be "1", that is, effective.
【0043】次に、制御回路33からの制御に応じて、
コモンバス用制御回路31から制御信号S31がアドレ
スデコーダ58に出力される。これにより、例えば、ア
ドレスデコーダ58によって、マルチプレクサ54がメ
モリ内部バス51に接続され、サブページ92がコモン
バス22を介してプロセッサエレメント233 に転送さ
れる。サブページ92は、プロセッサエレメント233
の例えばサブバンク271 に記憶される。その後、プロ
セッサエレメント233 において、サブバンク271 に
記憶されたサブページ92から、読み出し要求が発生し
たアドレスのデータが読み出され、この読み出されたデ
ータを用いて演算(画像演算)処理が行われる(ステッ
プS4)。Next, according to the control from the control circuit 33,
The control signal S31 is output from the common bus control circuit 31 to the address decoder 58. Thus, for example, by the address decoder 58, the multiplexer 54 is connected to a memory internal bus 51, the sub-page 92 is transferred to the processor element 23 3 via a common bus 22. Subpages 92 processor element 23 3
It is stored, for example in the sub-banks 27 1. Thereafter, the processor element 23 3, from the sub-page 92 stored in the sub-banks 27 1, read data at the address read request has occurred, calculation (image calculation) processing line using the read data (Step S4).
【0044】〔ステップS13が実行される場合〕ステ
ップS13は、プロセッサエレメント233 〜23n か
ら要求があったサブページが共有メモリ24に記憶され
ているが、当該サブページが無効である場合に実行され
る。制御回路33によって、ステップS3において、タ
グデータのバリッド識別領域121におけるタグバンク
1306 のメモリサブバンク42についてのバリッドビ
ットが「0」、すなわち無効であると判断された場合
に、プロセッサエレメント233 から要求があったサブ
ページ92を含むページが、メインメモリ7からメモリ
セル領域90のバンク806 に転送および記憶される。[0044] [If step S13 is executed] step S13, when the sub-page that is requested from the processor element 23 3 ~ 23 n are have been stored in the shared memory 24, the sub-page is invalid Be executed. The control circuit 33, in step S3, when the valid bit for the memory sub-banks 42 of Tagubanku 130 6 in valid identification area 121 of the tag data is determined as "0", i.e. is invalid, the request from the processor element 23 3 page containing the subpage 92 there was is transferred and stored from the main memory 7 to the bank 80 6 in the memory cell region 90.
【0045】次に、制御回路33からの制御に応じて、
コモンバス用制御回路31から制御信号S31がアドレ
スデコーダ58に出力される。これにより、例えば、ア
ドレスデコーダ58によって、マルチプレクサ54がメ
モリ内部バス51に接続され、サブページ92がコモン
バス22を介してプロセッサエレメント233 に転送さ
れる。サブページ92は、プロセッサエレメント233
の例えばサブバンク271 に記憶される。その後、プロ
セッサエレメント233 において、サブバンク271 に
記憶されたサブページ92から、読み出し要求が発生し
たアドレスのデータが読み出され、この読み出されたデ
ータを用いて演算処理が行われる(ステップS4)。Next, according to the control from the control circuit 33,
The control signal S31 is output from the common bus control circuit 31 to the address decoder 58. Thus, for example, by the address decoder 58, the multiplexer 54 is connected to a memory internal bus 51, the sub-page 92 is transferred to the processor element 23 3 via a common bus 22. Subpages 92 processor element 23 3
It is stored, for example in the sub-banks 27 1. Thereafter, the processor element 23 3, from the sub-page 92 stored in the sub-banks 27 1, read data at the address read request has occurred, processing is performed using the read data (step S4 ).
【0046】ページフォルトが発生した場合 〔ステップS7が実行される場合〕ステップS7は、プ
ロセッサエレメント233 〜23n から要求があったサ
ブページが共有メモリ24に記憶されておらず、当該要
求があったサブページを記憶するサブバンクに既に記憶
されているサブページのなかに無効なものが1個存在す
る場合に実行される。[0046] [If step S7 is executed] For a page fault step S7, the sub-page that is requested from the processor element 23 3 ~ 23 n is not stored in the shared memory 24, the request is This is executed when there is one invalid subpage among the subpages already stored in the subbank storing the existing subpage.
【0047】図7では、メモリセル領域90におけるメ
モリサブバンク41〜44のバンク809 に、それぞれ
サブページ201〜204が記憶されている。また、図
8では、タグデータ領域120に記憶されたタグデータ
おけるバンク809 に対応するタグバンク1309 に記
憶されているバリッドビットのうち、メモリサブバンク
42についてのバリッドビットが「0」、すなわち、無
効(インバリッド)であることを示している。また、タ
グバンク1309 以外のタグバンクに記憶されているメ
モリサブバンク42についてのバリッドビットが全て
「1」、すなわち有効(バリッド)になっている。[0047] In Figure 7, the bank 80 9 of the memory sub-banks 41 to 44 in the memory cell area 90, sub-page 201 to 204 respectively are stored. Further, in FIG. 8, among the valid bits stored in Tagubanku 130 9 corresponding to the tag data area 120 tag data definitive bank 80 9 stored in the valid bit is "0" for the memory sub-bank 42, i.e., It is invalid (invalid). Further, the valid bit for the memory sub-bank 42 stored in Tagubanku 130 9 non Tagubanku are all "1", i.e. is enabled (valid).
【0048】図7および図8に示す場合に、例えば、プ
ロセッサエレメント233 において、読み出し要求が発
生したアドレスを含むサブページが、プロセッサエレメ
ント233 に内蔵されたサブバンク271 〜273 に記
憶されていないときに、このサブページについてのサブ
ページ置き換え要求信号が共有メモリ24に出力される
(ステップS1)。そして、制御回路33において、サ
ブページ置き換え要求信号に示されるサブページがメモ
リサブバンク41〜44に記憶されているか否かが、タ
グデータ領域120に記憶されているタグデータのペー
ジセレクタ領域123を参照して判断される(ステップ
S2)。具体的には、制御回路33において、サブペー
ジ置き換え要求信号に示されるサブページのページセレ
クタと、ページセレクタ領域123のページセレクタと
が比較され、サブページ置き換え要求信号に示されるサ
ブページのページセレクタとタグバンク1300 〜13
0m-1 に記憶されているページセレクタとが不一致であ
ると判断される。すなわち、サブページ置き換え要求信
号に示されるサブページがメモリサブバンク41〜44
に記憶されていると判断される。[0048] In the case shown in FIGS. 7 and 8, for example, the processor element 23 3, sub-page including the address read request has occurred, it is stored in the sub-banks 27 1-27 3 built in the processor element 23 3 If not, a subpage replacement request signal for this subpage is output to the shared memory 24 (step S1). Then, the control circuit 33 determines whether or not the subpage indicated by the subpage replacement request signal is stored in the memory subbanks 41 to 44 with reference to the page selector area 123 of the tag data stored in the tag data area 120. Is determined (step S2). Specifically, the control circuit 33 compares the page selector of the subpage indicated by the subpage replacement request signal with the page selector of the page selector area 123, and determines the page selector of the subpage indicated by the subpage replacement request signal. And tag bank 130 0 -13
It is determined that the page selector stored at 0 m-1 does not match. That is, the subpages indicated by the subpage replacement request signal correspond to the memory subbanks 41 to 44.
Is determined to be stored.
【0049】次に、制御回路33において、タグデータ
におけるタグバンク1300 〜130m-1 に記憶されて
いるバリッドビットのうち、サブページ置き換え要求信
号に示されるサブページが記憶されるメモリサブバンク
についてのバリッドビットが、「0」、すなわち無効を
示すものが検索される(ステップS5)。ここでは、サ
ブページ置き換え要求信号に示されるサブページのアド
レスの9ビット目および10ビット目から、当該サブペ
ージがメモリサブバンク42に記憶されると判断され、
バリッド識別領域121のうち、メモリサブバンク42
についてのバリッドビットが無効、すなわち「0」を示
すものが検索される。そして、この検索の結果、タグバ
ンク1309 のサブバンク42についてのバリッドビッ
トのみが、無効を示していると判断される(ステップS
6)。Next, in the control circuit 33, of the valid bits stored in the tag banks 130 0 to 130 m -1 in the tag data, the memory sub bank in which the sub page indicated by the sub page replacement request signal is stored is stored. A search is made for a bit whose valid bit is “0”, that is, indicates that it is invalid (step S5). Here, from the ninth and tenth bits of the address of the subpage indicated by the subpage replacement request signal, it is determined that the subpage is stored in the memory subbank 42,
In the valid identification area 121, the memory subbank 42
Are searched for those in which the valid bit for is invalid, that is, "0". As a result of this search, only the valid bit of the sub-banks 42 of Tagubanku 130 9 is determined to indicate an invalid (step S
6).
【0050】次に、制御回路33からの制御に応じて、
外部バス用制御回路32から制御信号S32が、アドレ
スデコーダ58に出力される(ステップS7)。これに
より、例えば、アドレスデコーダ58によって、マルチ
プレクサ54がメモリ内部バス52に接続され、図9に
示すように、サブページ置き換え要求信号に示されるサ
ブページ212がメインメモリ7から読み出され、外部
アクセスバス26およびメモリ内部バス52を介して、
メモリサブバンク42のバンク809 に記憶される。こ
れにより、図10に示すように、タグバンク1309 の
メモリサブバンク42に対応するバリッドビットが
「1」にセットされる。Next, according to the control from the control circuit 33,
The control signal S32 is output from the external bus control circuit 32 to the address decoder 58 (step S7). Thereby, for example, the multiplexer 54 is connected to the memory internal bus 52 by the address decoder 58, and the subpage 212 indicated by the subpage replacement request signal is read from the main memory 7 as shown in FIG. Via the bus 26 and the memory internal bus 52,
It is stored in the bank 80 9 of the memory sub-banks 42. Thus, as shown in FIG. 10, the valid bit corresponding to the memory sub-banks 42 of Tagubanku 130 9 is set to "1".
【0051】サブページ212がサブバンク42のバン
ク809 に記憶された後に、制御回路33からの制御に
応じて、コモンバス用制御回路31から制御信号S31
が、アドレスデコーダ58に出力される。これにより、
例えば、アドレスデコーダ58によって、マルチプレク
サ54がメモリ内部バス51に接続され、サブページ2
12がメモリ内部バス51およびコモンバス22を介し
て、プロセッサエレメント233 に転送される。[0051] After the sub-page 212 is stored in the bank 80 9 sub-banks 42, the control of the control circuit 33, a control signal from the common bus control circuit 31 S31
Is output to the address decoder 58. This allows
For example, the multiplexer 54 is connected to the memory internal bus 51 by the address decoder 58, and the subpage 2
12 through a memory internal bus 51 and common bus 22, is transferred to the processor element 23 3.
【0052】また、メインメモリ7と共有メモリ24と
の間のデータ転送はページ単位であるため、サブページ
212がサブバンク42のバンク809 に記憶された後
に、サブページ212を含むページの他のサブページ2
13,214,211が、それぞれメモリサブバンク4
3,44,41のバンク809 に順に記憶される。な
お、サブページ212をメモリサブバンク42からコモ
ンバス22を介してプロセッサエレメント233 に転送
する処理と、サブページ211,213,214をメイ
ンメモリ7から外部アクセスバス26を介してメモリサ
ブバンク41,43,44に転送して記憶する処理とは
並行(多重化)して行われる。ここで、制御回路33
は、サブページ203,204,201のうち、ダーデ
ィ識別領域122のダーティビットがバリッドのサブペ
ージについては、メインメモリ7にライトバックした
(書き戻した)後に、置き換えを行う。[0052] Further, since the data transfer between the shared memory 24 and the main memory 7 is a page unit, the sub-page 212 after being stored in the bank 80 9 sub-banks 42, other pages with subpages 212 Subpage 2
13, 214 and 211 are memory subbanks 4 respectively.
It is stored sequentially in the bank 80 9 3,44,41. Note that the process of transferring subpage 212 from the memory sub-banks 42 in the processor element 23 3 via a common bus 22, the memory sub-banks 41 and 43 via the external access bus 26 subpages 211,213,214 from the main memory 7, The processing of transferring the data to the memory 44 and storing it is performed in parallel (multiplexing). Here, the control circuit 33
In the subpages 203, 204, and 201, the subpage in which the dirty bit of the dirty identification area 122 is valid is replaced after being written back to the main memory 7 (written back).
【0053】サブページ212は、コモンバス22を介
してプロセッサエレメント233 に転送されると、プロ
セッサエレメント233 の例えばサブバンク271 に記
憶される。その後、プロセッサエレメント233 におい
て、サブバンク271 に記憶されたサブページ212か
ら、読み出し要求が発生したアドレスのデータが読み出
され、当該読み出したデータを用いて演算処理が行われ
る(ステップS4)。[0053] sub-page 212, when it is transferred to the processor element 23 3 via a common bus 22, is stored in the processor element 23 3, for example, in the sub-banks 27 1. Thereafter, the processor element 23 3, the sub-page 212 stored in the sub-banks 27 1, data of an address read request is generated are read, operation processing by using the read data is performed (step S4).
【0054】〔ステップS10が実行される場合〕ここ
では、メモリサブバンク41〜44の記憶状態が図9に
示され、タグデータ領域120に記憶されているタグデ
ータが図11に示す場合について説明する。この場合、
図4に示すステップS1,S2およびステップS5で
は、前述した処理が行われる。但し、制御回路33にお
けるステップS5の検索の結果、タグデータにおけるタ
グバンク1306 ,1309 ,13012のメモリサブバ
ンク42についてのバリッドビットが「0」、すなわち
無効を示していると判断される(ステップS6)。[When Step S10 is Executed] Here, the case where the storage state of the memory sub-banks 41 to 44 is shown in FIG. 9 and the tag data stored in the tag data area 120 is shown in FIG. 11 will be described. . in this case,
In steps S1, S2 and S5 shown in FIG. 4, the above-described processing is performed. However, as a result of the search in step S5 in the control circuit 33, it is determined that the valid bit in the tag data for the memory subbank 42 of the tag banks 130 6 , 130 9 , and 130 12 is “0”, that is, it indicates invalid (step S5). S6).
【0055】次に、制御回路33において、タグデータ
におけるタグバンク1306 ,1309 ,13012のバ
リッドビットのうち、サブページ置き換え要求信号に示
されるサブページの次に置き換えが行われるサブページ
が記憶されているメモリサブバンク43についてのバリ
ッドビットに「0」、すなわち無効を示すものがあるか
否か、および、メモリサブバンク43についてのダーテ
ィビットに「0」、すなわち無効を示すものがあるか否
かが検索される(ステップS8)。図11に示す例で
は、このような条件を満たすタグバンク1306 ,13
09 ,13012は存在しない(ステップS9)。そのた
め、タグバンク1306 ,1309 ,13012に対応す
るバンク806,809 ,8012に記憶されているペー
ジのうち、任意のページを置き換え対象とできる。例え
ば、LRU方式などで、バンク809 に記憶されている
ページを置き換え対象とする。Next, in the control circuit 33, of the valid bits of the tag banks 130 6 , 130 9 , and 130 12 in the tag data, the sub page to be replaced next to the sub page indicated by the sub page replacement request signal is stored. Whether the valid bit for the memory sub-bank 43 is “0”, that is, indicates invalid, and whether the dirty bit for the memory sub-bank 43 is “0”, ie, indicates invalid. Is searched (step S8). In the example shown in FIG. 11, the tag banks 130 6 , 13 6
0 9 and 130 12 do not exist (step S9). Therefore, Tagubanku 130 6, 130 9, 130 12 bank 80 corresponding to 6, 80 9, 80 12 of the pages stored in, be directed replace any page. For example, in such LRU scheme directed to replace the pages that are stored in the bank 80 9.
【0056】そして、プロセッサエレメント233 から
のサブページ置き換え要求信号に示されるサブページが
メインメモリ7から読み出され、外部アクセスバス26
およびメモリ内部バス52を介して、バンク809 のメ
モリサブバンク42に記憶される(ステップS10)。
そして、制御回路33からの制御に応じて、コモンバス
用制御回路31から制御信号S31が、アドレスデコー
ダ58に出力される。これにより、例えば、アドレスデ
コーダ58によって、マルチプレクサ54がメモリ内部
バス51に接続され、バンク809 のメモリサブバンク
42に記憶されたサブページがメモリ内部バス51およ
びコモンバス22を介して、プロセッサエレメント23
3 に転送される。このサブページは、プロセッサエレメ
ント233 の例えばサブバンク271 に記憶される。そ
の後、プロセッサエレメント233 において、サブバン
ク271 に記憶されたサブページから、読み出し要求が
発生したアドレスのデータが読み出される(ステップS
4)。[0056] Then, the sub-page shown in subpage replacement request signal from the processor element 23 3 is read from the main memory 7, the external access bus 26
And through a memory internal bus 52 and stored in the memory sub-bank 42 of the bank 80 9 (step S10).
Then, a control signal S 31 is output from the common bus control circuit 31 to the address decoder 58 in accordance with the control from the control circuit 33. Thus, for example, by the address decoder 58, the multiplexer 54 is connected to a memory internal bus 51, the sub-pages stored in the memory sub-bank 42 of the bank 80 9 via a memory internal bus 51 and common bus 22, the processor element 23
Transferred to 3 . This subpage is stored in the processor element 23 3, for example, in the sub-banks 27 1. Thereafter, the processor element 23 3, from the sub-pages stored in the sub-banks 27 1, data of an address read request is generated are read out (step S
4).
【0057】このとき、メインメモリ7と共有メモリ2
4との間のデータ転送はページ単位であるため、要求が
あったサブページが属するページの他の3個のサブペー
ジが、それぞれメモリサブバンク41,43,44のバ
ンク809 に記憶される。また、タグバンク1309 に
記憶されているタグデータのダーディ識別領域122の
うちメモリサブバンク43に対応するダーティビットが
「1」、すなわち有効になっているため、メモリサブバ
ンク43のバンク809 に記憶されていたサブページを
メインメモリ7にライトバックした後に、メインメモリ
7から対応するサブページをメモリサブバンク43のバ
ンク809 に記憶する。なお、バンク809 のメモリサ
ブバンク42に記憶されたサブページをメモリ内部バス
51およびコモンバス22を介してプロセッサエレメン
ト233 に転送する処理と、外部アクセスバス26を介
したメモリサブバンク41,43,44とメインメモリ
7との間のサブページ転送処理およびライトバック処理
は並行して行われる。At this time, the main memory 7 and the shared memory 2
Since the data transfer between the 4 is a page unit, the other three sub-pages of the page subpages a request belongs, is stored in the bank 80 9 of the memory sub-banks 41, 43, 44, respectively. Also, since the dirty bit corresponding to the memory sub-banks 43 of Dadi identification area 122 of the tag data stored in the Tagubanku 130 9 is "1", i.e. effective, are stored in the bank 80 9 of the memory sub-banks 43 the subpage was after write-back to main memory 7 stores a subpage corresponding from the main memory 7 to the bank 80 9 of the memory sub-banks 43. The memory sub-banks subpage stored in the memory sub-bank 42 of the bank 80 9 through a process of transferring the processor element 23 3 through the memory internal bus 51 and common bus 22, the external access bus 26 41, 43, 44 The sub-page transfer process and the write-back process between the memory and the main memory 7 are performed in parallel.
【0058】〔ステップS11が実行される場合〕ここ
では、メモリサブバンク41〜44の記憶状態が図9に
示され、タグデータ領域120に記憶されているタグデ
ータの記憶状態が図12に示す場合について説明する。
この場合には、図4に示すステップS1,S2,S5,
S6およびS8では、前述した処理が行われる。但し、
ステップS8の検索の結果、タグデータにおけるタグバ
ンク1309 に記憶されているバリッドビットについ
て、サブページ置き換え要求信号に示されるサブページ
の次に置き換えが行われるサブページが記憶されている
メモリサブバンク43についてのバリッドビットが無効
であると判断される。また、タグデータにおけるタグバ
ンク13012に記憶されているダーティビットについ
て、メモリサブバンク43についてのダーティビットが
無効であると判断される。そして、タグバンク13
09 ,13012に対応するバンク809 ,8012のう
ち、任意のバンクに記憶されているページが置き換えた
対象となる。例えば、LRU方式などで、バンク809
に記憶されているページが置き換え対象となる。[Step S11 is executed] Here, the storage state of the memory sub-banks 41 to 44 is shown in FIG. 9, and the storage state of the tag data stored in the tag data area 120 is shown in FIG. Will be described.
In this case, steps S1, S2, S5 shown in FIG.
In S6 and S8, the above-described processing is performed. However,
If the result of the search at step S8, the valid bit stored in Tagubanku 130 9 in the tag data, the memory sub-banks 43 subpages replaced with the following sub-page indicated in the sub-page replacement request signal is performed are stored Is determined to be invalid. Also, the dirty bit stored in Tagubanku 130 12 in the tag data, the dirty bit for the memory sub-bank 43 is determined to be invalid. And the tag bank 13
0 9, 130 12 bank 80 corresponding to 9, 80 12 of, the target is replaced pages stored in any bank. For example, the bank 80 9
Is a replacement target.
【0059】次に、プロセッサエレメント233 からの
サブページ置き換え要求信号に示されるサブページがメ
インメモリ7から読み出され、外部アクセスバス26お
よびメモリ内部バス52を介して、バンク809 のメモ
リサブバンク42に記憶される(ステップS11)。そ
して、制御回路33からの制御に応じて、コモンバス用
制御回路31から制御信号S31が、アドレスデコーダ
58に出力される。これにより、例えば、アドレスデコ
ーダ58によって、マルチプレクサ54がメモリ内部バ
ス51に接続され、バンク809 のメモリサブバンク4
2に記憶されたサブページがメモリ内部バス51および
コモンバス22を介して、プロセッサエレメント233
に転送される。このサブページは、プロセッサエレメン
ト233 の例えばサブバンク271 に記憶される。その
後、プロセッサエレメント233 において、サブバンク
271 に記憶されたサブページから、読み出し要求が発
生したアドレスのデータが読み出される(ステップS
4)。Next, sub-page shown in subpage replacement request signal from the processor element 23 3 is read from the main memory 7 through the external access bus 26 and a memory internal bus 52, the memory sub-banks of the bank 80 9 42 (step S11). Then, a control signal S 31 is output from the common bus control circuit 31 to the address decoder 58 in accordance with the control from the control circuit 33. Thus, for example, by the address decoder 58, the multiplexer 54 is connected to a memory internal bus 51, the memory sub-banks 4 banks 80 9
2 is stored in the processor element 23 3 via the memory internal bus 51 and the common bus 22.
Is forwarded to This subpage is stored in the processor element 23 3, for example, in the sub-banks 27 1. Thereafter, the processor element 23 3, from the sub-pages stored in the sub-banks 27 1, data of an address read request is generated are read out (step S
4).
【0060】このとき、メインメモリ7と共有メモリ2
4との間のデータ転送はページ単位であるため、要求が
あったサブページが属するページの他の3個のサブペー
ジが、それぞれメモリサブバンク43,44,41のバ
ンク809 に順に記憶される。また、タグデータにおけ
るタグバンク1309 のメモリサブバンク43に対応す
るバリッドビットが「0」、すなわち無効になっている
ため、メモリサブバンク43のバンク809 に記憶され
ていたサブページをメインメモリ7にライトバックせず
に、メインメモリ7から対応するサブページをメモリサ
ブバンク43のバンク809 に記憶する。なお、バンク
809 のメモリサブバンク42に記憶されたサブページ
をメモリ内部バス51およびコモンバス22を介してプ
ロセッサエレメント233 に転送する処理と、外部アク
セスバス26を介したメモリサブバンク41,43,4
4とメインメモリ7との間のサブページ転送処理とは並
行して行われる。At this time, the main memory 7 and the shared memory 2
Since the data transfer between the 4 is a page unit, the other three sub-pages of the page subpages a request belongs, it is stored in order in the bank 80 9 of the memory sub-banks 43,44,41, respectively . Further, "0" valid bit corresponding to the memory sub-banks 43 of Tagubanku 130 9 in the tag data, that is, the disabled, the sub-page which has been stored in the bank 80 9 of the memory sub-banks 43 in the main memory 7 write without back, it stores the sub-pages corresponding from the main memory 7 to the bank 80 9 of the memory sub-banks 43. The memory sub-banks subpage stored in the memory sub-bank 42 of the bank 80 9 through a process of transferring the processor element 23 3 through the memory internal bus 51 and common bus 22, the external access bus 26 41,43,4
4 and the main memory 7 are performed in parallel with the subpage transfer process.
【0061】〔ステップS12が選択される場合〕制御
回路33によるステップS5の検索の結果、タグデータ
におけるプロセッサエレメント233 から要求があった
サブページが記憶されているサブバンクに対応するバッ
リッドビットの全てが「1」、すなわち有効を示してい
る場合に、バンク800 〜80m に記憶されている全て
のページを対象として、例えば、LRU方式などを採用
して、最近のアクセスが最も古いページを置き換え対象
とし、必要に応じてメインメモリ7にライトバックを行
った後に、プロセッサエレメント233 から要求のあっ
たサブページを含むページをメインメモリ7から転送し
てメモリセル領域90に記憶する。[0061] Search in step S5 by the control circuit 33 [step S12 may be selected] Results of back lid bits corresponding to the sub-banks subpages a request from the processor element 23 3 of the tag data is stored If all are “1”, that is, valid, all pages stored in the banks 80 0 to 80 m are targeted, for example, by using the LRU method, etc. the replacement targeting, after the write-back to main memory 7 as needed, and transfers the page containing the subpage was from the processor element 23 3 of the request from the main memory 7 and stored in the memory cell region 90.
【0062】多重アクセス 次に、図13に示すように、プロセッサエレメント23
3 からの読み出し要求に応じて、共有メモリ24のバン
ク801 に記憶されたサブページ91〜94が、メモリ
内部バス52および外部アクセスバス26を介して転送
されたメインメモリ7に記憶されたサブページ101〜
104と置き換えられている最中に、プロセッサエレメ
ント233 以外のプロセッサエレメント234 から共有
メモリ24のバンク806 に記憶されたサスページ11
2に対しての読み出し要求が発生した場合の並列プロセ
ッサ21の処理について説明する。 Multiple access Next, as shown in FIG.
In response to a read request from the 3, the sub-page 91-94, which is stored in the bank 80 1 of the shared memory 24, stored in the main memory 7 is transferred via the memory internal bus 52 and the external access bus 26 sub Pages 101-
While being replaced with 104, suspension page 11 stored from the processor element 23 4 other than the processor element 23 3 to the bank 80 6 of the shared memory 24
The process performed by the parallel processor 21 when a read request is issued to the second processor will be described.
【0063】この場合には、サブページ112に対して
の読み出し要求が、プロセッサエレメント234 からコ
モンバス22を介して共有メモリ24に出力され、この
読み出し要求が制御信号S70としてコモンバス用制御
回路31に出力される。このとき、サブページ112は
メモリサブバンク42に記憶されているため、コモンバ
ス用制御回路31からアドレスデコーダ58に制御信号
S31が出力され、マルチプレクサ54がメモリ内部バ
ス51に接続される。これによって、サブページ112
が、メモリ内部バス51およびコモンバス22を介し
て、プロセッサエレメント234 に出力される。[0063] In this case, the read request to the sub-page 112 is output to the shared memory 24 from the processor element 23 4 through the common bus 22, the common bus control circuit 31 the read request as the control signal S70 Is output. At this time, since the subpage 112 is stored in the memory subbank 42, the control signal S31 is output from the common bus control circuit 31 to the address decoder 58, and the multiplexer 54 is connected to the memory internal bus 51. As a result, the sub-page 112
But through a memory internal bus 51 and common bus 22, it is outputted to the processor element 23 4.
【0064】並列プロセッサ21では、上述したサブペ
ージ112の転送処理と並行して、共有メモリ24のバ
ンク801 に記憶されたサブページ91〜94とメイン
メモリ7に記憶されたサブページ101〜104との入
れ替え処理が行われる。すなわち、並列プロセッサ21
では、プロセッサエレメント231 〜23n と共有メモ
リ24との間でのサブページの転送処理と、共有メモリ
24とメインメモリ7との間でのページ転送処理とを多
重化できる。[0064] In the parallel processor 21, in parallel with the transfer processing of the sub-page 112 as described above, the sub-page 101 to 104 stored in the sub-page 91-94 and the main memory 7 stored in the bank 80 1 of the shared memory 24 Is performed. That is, the parallel processor 21
In the process of transferring subpage between the shared memory 24 and the processor element 23 1 ~ 23 n, and a page transfer processing between the shared memory 24 and the main memory 7 it can be multiplexed.
【0065】以上説明したように、並列プロセッサ21
によれば、共有メモリ24にページフォルトが発生した
場合に、図4に示すステップS8およびS9のように、
プロセッサエレメント231 〜23n が要求しているサ
ブページが記憶されるサブバンクの他に、当該サブバン
クに続いてサブページの置き換え対象となるサブバンク
のバリッドビッドおよびダーティビッドを考慮して、ラ
イトバックの発生をできるだけ抑えるように、ページの
置き換え対象となるバンクを決定する。そのため、ライ
トバック処理が発生する確率を低減でき、ライトバック
処理によるプロセッサエレメント231 〜23n の待ち
時間が短縮され、高性能な演算処理を実現できる。As described above, the parallel processor 21
According to the above, when a page fault occurs in the shared memory 24, as in steps S8 and S9 shown in FIG.
Other sub-banks subpage is stored by the processor elements 23 1 ~ 23 n is requesting, by considering the valid bit and dirty bid sub-banks to be replaced subpage Following the sub-banks, the write-back The bank to be replaced with a page is determined so as to minimize the occurrence. Therefore, it is possible to reduce the probability of write-back occurs, the latency of the processor elements 23 1 ~ 23 n by the write-back process is to shorten, can realize a high-performance computation processing.
【0066】特に、並列プロセッサ21のように、コモ
ンバス22のデータ転送能力が外部アクセスバス26の
データ転送能力の4倍あり、メモリセル領域90が4個
のメモリサブバンク41〜44に分割されている場合に
は、1ページ全体で、1個のサブページをライトバック
する場合と、4個のサブページをライトバックする場合
とで、ライトバックに伴う処理時間が4倍以上異なる。
従って、ライトバックの必要があるサブページを多く含
むページを置き換えの対象にした場合と、そうでない場
合とで、ページ置き換えに伴う時間が7倍以上も異なる
場合がある。すなわち、並列プロセッサ21のように、
ライトバックの必要があるサブページの数が少ないペー
ジをページ置き換えの対象とすることは、プロセッサエ
レメント231 〜23n による共有メモリ24に対して
のアクセスに伴う待ち時間を短縮する上で非常に効果的
である。In particular, like the parallel processor 21, the data transfer capability of the common bus 22 is four times the data transfer capability of the external access bus 26, and the memory cell area 90 is divided into four memory subbanks 41 to 44. In this case, the processing time involved in the write-back differs by a factor of four or more between the case of writing back one subpage and the case of writing back four subpages for one entire page.
Therefore, the time required for page replacement may differ by more than seven times depending on whether a page including many subpages requiring write-back is to be replaced or not. That is, like the parallel processor 21,
To the page number is small sub pages that need writeback subject to replacement pages, very in order to reduce latency associated with accessing the shared memory 24 by the processor element 23 1 ~ 23 n It is effective.
【0067】また、並列プロセッサ21では、共有メモ
リ24にページフォルトが発生した場合に、当該ページ
の全てが、メインメモリ7から共有メモリ24に読み込
まれる前でも、必要なサブページが読み込まれた時点
で、プロセッサエレメント231 〜23n は当該読み込
まれたサブページにアクセスすることができる。そのた
め、ページフォルトに伴うプロセッサエレメント231
〜23n の待ち時間を大幅に短縮でき、その結果、高速
処理が実現される。In the parallel processor 21, when a page fault occurs in the shared memory 24, even if all the pages are not read from the main memory 7 to the shared memory 24, even when a necessary subpage is read. in the processor element 23 1 ~ 23 n may access the loaded subpage. Therefore, the processor element 23 1 associated with a page fault
~ 23 n latency can significantly reduce the, result, high speed processing is realized.
【0068】また、画像処理などの分野では、同一のペ
ージ内のデータが、プロセッサエレメント231 〜23
n から連続してアクセスされる場合が多いが、並列プロ
セッサ21では、ページフォルトが発生した場合に、要
求が生じたサブページの他に当該サブページと連続した
アドレスを持つ他の3個のサブページもメインメモリ7
から共有メモリ24に読み込むため、次にページフォル
トが発生する可能性を低減できる。すなわち、画像処理
の特性から、要求があったサブページと連続したアドレ
スのサブページについても近い将来、プロセッサエレメ
ント231 〜23n からアクセスが発生する可能性が高
いため、これらのサブページを要求があったサブページ
と共にメインメモリ7から共有メモリ24に読み込むこ
とは、将来のページフォルトの発生率を低下させるのに
有効である。In the field of image processing and the like, data in the same page is stored in the processor elements 23 1 to 23 1.
In many cases, access is continuously made from n. However, in the case where a page fault occurs, in the parallel processor 21, in addition to the requested subpage, three other subpages having addresses continuous with the relevant subpage are provided. Page is also in main memory 7
To the shared memory 24, the possibility of a page fault occurring next time can be reduced. That is, a request from the characteristics of the image processing, the near future for the sub-pages of consecutive addresses and subpages a request, for access from the processor element 23 1 ~ 23 n is likely to occur, these subpages Reading from the main memory 7 to the shared memory 24 together with the subpage where the error occurred is effective in reducing the future occurrence rate of page faults.
【0069】また、並列プロセッサ21によれば、共有
メモリ24のメモリセルのサブバンクとして単数のデー
タポートを備えたものを用いて、プロセッサエレメント
231 〜23n と共有メモリ24との間でのサブページ
転送処理と、共有メモリ24とメインメモリ7との間で
のページ転送処理とを並行して行うことができるため、
高速処理を実現できる。すなわち、共有メモリ24は、
シングルポートであるにも係わらずに、機能的に、2ポ
ートと略同じ性能を実現できる。Further, according to the parallel processor 21, using the one having a data port singular as sub-bank of memory cells in the shared memory 24, the sub between the shared memory 24 and the processor element 23 1 ~ 23 n Since the page transfer process and the page transfer process between the shared memory 24 and the main memory 7 can be performed in parallel,
High-speed processing can be realized. That is, the shared memory 24
Despite being a single port, it can functionally achieve substantially the same performance as a two port.
【0070】また、並列プロセッサ21によれば、図2
に示すように、メモリセル領域90を4個のメモリサブ
バンク41〜44に物理的に分割して、メモリサブバン
ク41〜44に単数のデータポートを設けることで、従
来の図16に示す従来の共有メモリ4のようにメモリセ
ル領域全体を対象として4個のデータポートを設けた場
合に比べて、配線数を大幅に削減でき、メモリセル領域
90の小規模化を図ることができる。その結果、並列プ
ロセッサ21内の限られた領域に、従来より多くの容量
のメモリセル領域を設けることができる。According to the parallel processor 21, FIG.
As shown in FIG. 16, the memory cell region 90 is physically divided into four memory sub-banks 41 to 44, and a single data port is provided in each of the memory sub-banks 41 to 44. Compared with the case where four data ports are provided for the entire memory cell region as in the memory 4, the number of wirings can be greatly reduced, and the memory cell region 90 can be downsized. As a result, it is possible to provide a memory cell area having a larger capacity than the conventional one in a limited area in the parallel processor 21.
【0071】本発明は上述した実施形態には限定されな
い。例えば、上述した実施形態では、図1に示すよう
に、n個のプロセッサエレメント231 〜23n をコモ
ンバス22に接続した並列プロッサを例示したが、本発
明は、例えば、図14に示すように、コモンバス22に
単数のプロセッサエレメント231 を接続したプロセッ
サ200にも適用できる。図14に示すプロセッサ20
0でも、前述した並列プロセッサ21と同様に、プロセ
ッサエレメント231 によるサブページの要求に応じ
て、前述した図4に示す処理によって、コモンバス22
を介したプロセッサエレメント231 と中間メモリ20
4との間のサブページの転送、および、外部アクセスバ
ス26を介した中間メモリ204とメインメモリ7との
間のページの転送を行う。ここで、中間メモリ204
は、前述した図2に示す共有メモリ4と同じ構成をして
いる。プロセッサ200によれば、図4に示すデータ転
送処理を採用することで、ページフォルトが発生した場
合に、中間メモリ204に記憶されているページをメイ
ンメモリ7にライトバックされる回数を低減でき、プロ
セッサエレメント231 の待ち時間を短縮できる。The present invention is not limited to the above embodiment. For example, in the above embodiment, as shown in FIG. 1 has been described by way of parallel Purossa of connecting the n processor elements 23 1 ~ 23 n to the common bus 22, the present invention is, for example, as shown in FIG. 14 , it can be applied to the processor 200 which connects the processor element 23 1 of the singular in the common bus 22. Processor 20 shown in FIG.
Even 0, similarly to the parallel processor 21 described above, at the request of the sub-page by the processor element 23 1, the processing shown in FIG. 4 described above, the common bus 22
Processor element 23 1 and intermediate memory 20 via
4 and a page transfer between the intermediate memory 204 and the main memory 7 via the external access bus 26. Here, the intermediate memory 204
Has the same configuration as the shared memory 4 shown in FIG. According to the processor 200, by employing the data transfer process shown in FIG. 4, when a page fault occurs, the number of times that a page stored in the intermediate memory 204 is written back to the main memory 7 can be reduced, It can reduce the waiting time of the processor element 23 1.
【0072】また、上述した図1に示す実施形態では、
プロセッサエレメント233 から要求があったサブペー
ジが記憶されているメモリサブバンク42の次にメモリ
サブバンク43がサブページの置き換えの対象になる場
合を例示したが、メモリサブバンク42の次にメモリサ
ブバンク41をサブページの置き換えの対象にするよう
にしてもよい。この場合には、図4に示すステップS8
において、タグバンク1309 および13012のうち、
メモリサブバンク41に対応するバリッドビットおよび
ダーティビットの少なくとも一方が無効であるものが検
索される。In the embodiment shown in FIG.
A case has been exemplified where the memory sub-banks 43 in the subsequent memory sub-banks 42 subpages there is a request from the processor element 23 3 is stored becomes the target of a replacement subpage, the memory sub-banks 41 in the subsequent memory sub-banks 42 Subpages may be replaced. In this case, step S8 shown in FIG.
In, among Tagubanku 130 9 and 130 12,
The one in which at least one of the valid bit and the dirty bit corresponding to the memory sub-bank 41 is invalid is searched.
【0073】また、上述した実施形態では、図4のステ
ップS8において、プロセッサエレメント233 から要
求があったサブページが記憶されているメモリサブバン
クの次にサブページの置き換え対象となるメモリサブバ
ンク43に対応するサブページの置き換えの対象になる
場合を例示したが、要求があったサブページに属するペ
ージに含まれる他のサブページの全てあるいは一部が記
憶されているメモリサブバンクに対応するバリッドビッ
トおよびダーティビットを考慮するようにしてもよい。
このとき、例えば、要求があったサブページに属するペ
ージに含まれる他のサブページの全てが記憶されている
メモリサブバンクに対応するバリッドビットおよびダー
ティビットを考慮した場合には、バリッドビットおよび
ダーティビットの少なくとも一方が無効であるものの数
が多いバンクをページ置き換えの対象とする。並列プロ
セッサ21によれば、メインメモリ7から読み込むペー
ジを記憶する共有メモリ24のバンクを決定するとき
に、当該バンクに既に記憶されているページを構成する
4個のサブページの全てについてライトバックの必要性
を考慮することで、ライトバック処理によるメモリアク
セス速度の低下を4倍程度に抑えることが可能である。[0073] Further, in the above embodiment, in step S8 in FIG. 4, the memory sub-bank 43 to be replaced subpage to the next memory sub banks subpages there is a request from the processor element 23 3 is stored Although the case where the corresponding subpage is to be replaced has been exemplified, the valid bit corresponding to the memory subbank in which all or a part of other subpages included in the page belonging to the requested subpage are stored and Dirty bits may be considered.
At this time, for example, in consideration of the valid bit and the dirty bit corresponding to the memory subbank in which all the other subpages included in the page belonging to the requested subpage are stored, the valid bit and the dirty bit are considered. The bank in which at least one of the banks is invalid is set as a target of page replacement. According to the parallel processor 21, when determining the bank of the shared memory 24 that stores the page to be read from the main memory 7, all of the four subpages that constitute the page already stored in the bank are written back. By considering the necessity, it is possible to suppress the decrease in the memory access speed due to the write-back processing to about four times.
【0074】また、上述した実施形態では、図4に示す
ステップS11,S12,S13において、LRU方式
でぺージ置き換え対象とするバンクを決定したが、その
他の方式でバンクを決定してもよい。Further, in the above-described embodiment, in steps S11, S12, and S13 shown in FIG. 4, the bank to be replaced is determined by the LRU method, but the bank may be determined by another method.
【0075】また、上述した実施形態では、図1に示す
プロセッサエレメント231 〜23n および図14に示
すプロセッサエレメント231 がサブページからデータ
を読み出す場合を例示したが、サブページにデータを書
き込む場合でも、コモンバス22を介したサブページの
転送処理および外部アクセスバス26を介したページの
転送処理は同じである。[0075] Further, in the above embodiment, a case has been exemplified where the processor element 23 1 shown in the processor element 23 1 ~ 23 n and 14 shown in FIG. 1 reads data from the sub-page, writes the data to the sub-page Even in this case, the subpage transfer processing via the common bus 22 and the page transfer processing via the external access bus 26 are the same.
【0076】また、上述した実施形態では、共有メモリ
24のメモリセル領域を4個のメモリサブバンク41〜
44に分割した場合を例示したが、メモリサブバンクの
数は任意である。従って、例えば、共有メモリ24のメ
モリセル領域を8個のメモリサブバンクに分割してもよ
い。この場合には、1ページは8個のサブページで構成
される。また、上述した実施形態では、単数のサブペー
ジのデータ量を512バイトとしたが、このデータ量は
特に限定されず、256バイトあるいは1024バイト
などであってもよい。In the above embodiment, the memory cell area of the shared memory 24 is divided into four memory subbanks 41 to 41.
Although the case of dividing into 44 is illustrated, the number of memory subbanks is arbitrary. Therefore, for example, the memory cell area of the shared memory 24 may be divided into eight memory sub-banks. In this case, one page is composed of eight subpages. In the above-described embodiment, the data amount of a single sub-page is set to 512 bytes. However, the data amount is not particularly limited, and may be 256 bytes or 1024 bytes.
【0077】また、図13を用いて説明した共有メモリ
24とメインメモリ7との間のページ置き換え処理は、
最初にサブバンク42に記憶されたサブページ92につ
いての置き換え処理を行えば、その後、サブバンク4
1,43,44に記憶されたサブページ91,93,9
4をメインメモリ7との間でどの順序で置き換えてもよ
い。例えば、上述した実施形態では、要求があったサブ
ページ92の次にアドレスをインクリメントする方向
に、サブページ93,94,91の順で置き換えを行っ
たが、アドレスをデクリメントする方向に、サブページ
92の次にサブページ91,94,93の順で置き換え
てもよい。The page replacement process between the shared memory 24 and the main memory 7 described with reference to FIG.
If the replacement process for the subpage 92 stored in the subbank 42 is performed first, then the subbank 4
Subpages 91, 93, 9 stored in 1, 43, 44
4 may be replaced with the main memory 7 in any order. For example, in the above-described embodiment, the subpages 93, 94, and 91 are replaced in the order of incrementing the address next to the requested subpage 92, but the subpages are replaced in the direction of decrementing the address. Sub-pages 91, 94, and 93 may be replaced in the order of 92.
【0078】また、図13を用いて説明した共有メモリ
24とメインメモリ7との間のページ置き換え処理で
は、サブページ91〜94を置き換える順序のパターン
は、24(=4×3×2×1)通りある。従って、並列
プロセッサ21では、共有メモリ24とメインメモリ7
との間で、この24通りのうちいずれの順序でサブペー
ジを置き換えてもよい。例えば、プロセッサエレメント
231 〜23n からのアクセス要求を考慮せず、例え
ば、常に、サブページ91,92,93,94の順でサ
ブページを置き換えてもよい。In the page replacement process between the shared memory 24 and the main memory 7 described with reference to FIG. 13, the order of replacing the subpages 91 to 94 is 24 (= 4 × 3 × 2 × 1). ) There are streets. Therefore, in the parallel processor 21, the shared memory 24 and the main memory 7
The sub-pages may be replaced in any of these 24 ways. For example, without considering an access request from the processor element 23 1 ~ 23 n, for example, may always replace subpage in the order of sub-pages 91, 92, 93, and 94.
【0079】また、本発明は、例えば、プロセッサエレ
メント231 〜23n の動作モードを判断したり、各プ
ロセッサエレメント231 〜23n のデータアクセスパ
ターンがメモリアドレスを増加および減少する方向の何
れであるかを判断する判断回路を設けることも可能であ
る。この場合には、当該判断回路の判断結果に基づい
て、共有メモリ24とメインメモリ7との間でのサブペ
ージの置き換え順序を、プロセッサエレメント231 〜
23n のアクセス待ち時間が短くなるように、柔軟に設
定するように構成することができる。ここで、共有メモ
リ24におけるサブページの置き換え順序を制御する手
段として、固定された論理回路の他に、条件に応じて置
き換え順序を柔軟に変更できるシーケンサなどのプログ
ラム可能な回路を設けることが望ましい。[0079] Further, the present invention is, for example, to determine the operating mode of the processor elements 23 1 ~ 23 n, the data access pattern of each processor element 23 1 ~ 23 n is in either direction to increase and decrease the memory address It is also possible to provide a judgment circuit for judging whether or not there is. In this case, based on the determination result of the determination circuit, the order replacement subpage between the shared memory 24 and the main memory 7, the processor elements 23 1 to
As access latency of 23 n becomes shorter, it can be configured to flexibly set. Here, as means for controlling the replacement order of the subpages in the shared memory 24, it is desirable to provide a programmable circuit such as a sequencer capable of flexibly changing the replacement order according to conditions, in addition to a fixed logic circuit. .
【0080】また、上述した並列プロセッサ21では、
図2に示すように、1組のメモリ内部バス51およびコ
モンバス22を用いた場合を例示したが、メモリサブバ
ンクの数以下の複数組のメモリ内部バス51およびコモ
ンバス22を設けてもよい。この場合には、当該組の数
に応じて、プロセッサエレメント231 〜23n から共
有メモリ24の異なるサブバンクに同時にアクセスが可
能となり、さらなる高速処理を実現できる。In the parallel processor 21 described above,
As shown in FIG. 2, the case where one set of the memory internal bus 51 and the common bus 22 is used is illustrated, but a plurality of sets of the memory internal bus 51 and the common bus 22 that are equal to or less than the number of memory subbanks may be provided. In this case, depending on the number of the set, at the same time allows access to a sub-bank of different shared memory 24 from the processor element 23 1 ~ 23 n, can realize further high-speed processing.
【0081】[0081]
【発明の効果】以上説明したように、本発明の並列プロ
セッサによれば、複数のプロセッサエレメントが共有メ
モリにアクセスするときの待ち時間を短縮でき、高い演
算性能を実現できる。また、本発明の並列プロセッサに
よれば、第1の記憶手段をそれぞれ単数のデータポート
を持つ複数のサブバンクに分割したことで、単位面積当
たりの第1の記憶手段の記憶容量を増大できる。また、
本発明のプロセッサによれば、プロセッサエレメントが
中間メモリにアクセスするときの待ち時間を短縮でき、
高い演算性能を実現できる。また、本発明のプロセッサ
によれば、第1の記憶手段をそれぞれ単数のデータポー
トを持つ複数のサブバンクに分割したことで、単位面積
当たりの第1の記憶手段の記憶容量を増大できる。ま
た、本発明の第1の観点のメモリ制御方法によれば、プ
ロセッサエレメントが共有メモリにアクセスするときの
待ち時間を短縮でき、プロセッサエレメントに高い演算
性能を実現させることが可能になる。本発明の第2の観
点のメモリ制御方法によれば、プロセッサエレメントが
中間メモリにアクセスするときの待ち時間を短縮でき、
プロセッサエレメントに高い演算性能を実現させること
が可能になる。As described above, according to the parallel processor of the present invention, the waiting time when a plurality of processor elements access the shared memory can be reduced, and high operation performance can be realized. Further, according to the parallel processor of the present invention, the storage capacity of the first storage unit per unit area can be increased by dividing the first storage unit into a plurality of subbanks each having a single data port. Also,
According to the processor of the present invention, the waiting time when the processor element accesses the intermediate memory can be reduced,
High computing performance can be realized. Also, according to the processor of the present invention, the storage capacity of the first storage unit per unit area can be increased by dividing the first storage unit into a plurality of subbanks each having a single data port. Further, according to the memory control method of the first aspect of the present invention, the waiting time when the processor element accesses the shared memory can be reduced, and the processor element can achieve high arithmetic performance. According to the memory control method of the second aspect of the present invention, the waiting time when the processor element accesses the intermediate memory can be reduced,
It becomes possible to realize high operation performance in the processor element.
【図1】図1は、本発明の実施形態の並列プロセッサの
システム構成図である。FIG. 1 is a system configuration diagram of a parallel processor according to an embodiment of the present invention.
【図2】図2は、図1に示す共有メモリの構成図であ
る。FIG. 2 is a configuration diagram of a shared memory shown in FIG. 1;
【図3】図3は、図2に示すメモリサブバンクに記憶さ
れるサブページを説明するための図である。FIG. 3 is a diagram for explaining subpages stored in a memory subbank shown in FIG. 2;
【図4】図4は、図1に示す並列プロセッサにおける共
有メモリの制御回路における処理を説明するためのフロ
ーチャートである。FIG. 4 is a flowchart for explaining a process in a control circuit of a shared memory in the parallel processor shown in FIG. 1;
【図5】図5は、メモリサブバンクの記憶状態を説明す
るための図である。FIG. 5 is a diagram for explaining a storage state of a memory subbank.
【図6】図6は、図4のページ置き換えを行わない場合
のタグバンクの記憶状態を説明するための図である。FIG. 6 is a diagram for explaining a storage state of a tag bank when the page replacement of FIG. 4 is not performed;
【図7】図7は、メモリサブバンクの記憶状態を説明す
るための図である。FIG. 7 is a diagram for explaining a storage state of a memory subbank;
【図8】図7は、図4のステップS7の処理が実行され
る場合のタグバンクの記憶状態を説明するための図であ
る。FIG. 7 is a diagram for explaining a storage state of a tag bank when the process of step S7 in FIG. 4 is performed.
【図9】図9は、メモリサブバンクの記憶状態を説明す
るための図である。FIG. 9 is a diagram for explaining a storage state of a memory sub-bank;
【図10】図10は、図4のステップS7の処理が実行
され、要求があったサブページがメインメモリからメモ
リセル領域に記憶された後のタグバンクの記憶状態を説
明するための図である。FIG. 10 is a diagram for explaining a storage state of the tag bank after the processing of step S7 of FIG. 4 is executed and the requested subpage is stored in the memory cell area from the main memory. .
【図11】図11は、図4のステップS10の処理が実
行される場合のタグバンクの記憶状態を説明するための
図である。FIG. 11 is a diagram for explaining a storage state of a tag bank when the process of step S10 in FIG. 4 is performed.
【図12】図12は、図4のステップS11の処理が実
行される場合のタグバンクの記憶状態を説明するための
図である。FIG. 12 is a diagram for explaining a storage state of a tag bank when the process of step S11 in FIG. 4 is performed.
【図13】図13は、図1に示す並列プロセッサの多重
化処理を説明するための図である。FIG. 13 is a diagram for explaining a multiplexing process of the parallel processor illustrated in FIG. 1;
【図14】本発明のその他の実施形態に係わるプロセッ
サのシステム構成図である。FIG. 14 is a system configuration diagram of a processor according to another embodiment of the present invention.
【図15】図15は、従来の一般的な並列プロセッサの
システム構成図である。FIG. 15 is a system configuration diagram of a conventional general parallel processor.
【図16】図16は、従来のその他の並列プロセッサの
システム構成図である。FIG. 16 is a system configuration diagram of another conventional parallel processor.
6…チップインタフェース、7…メインメモリ、22…
コモンバス、231 〜23n …プロセッサエレメント、
24…共有メモリ、25…バスユニット、26…外部ア
クセスバス、271 〜273 ,41〜44…サブバン
ク、31…コモンバス用制御回路、32…外部バス用制
御回路、33…制御回路、53〜56…マルチプレク
サ、57〜60…アドレスデコーダ、800 〜80m …
バンク、120…タグデータ領域、121…バリッド識
別領域、122…ダーディ識別領域、123…ページセ
レクタ領域、1300 〜130m-1 …タグバンク、20
4…中間メモリ6 chip interface, 7 main memory, 22
Common bus, 23 1 ~23 n ... processor element,
24 shared memory, 25 bus unit, 26 external access bus, 27 1 to 27 3 , 41 to 44 sub bank, 31 control circuit for common bus, 32 control circuit for external bus, 33 control circuit, 53 to 56 multiplexer, 57-60 address decoder, 80 0 -80 m
Bank: 120: Tag data area, 121: Valid identification area, 122: Dardy identification area, 123: Page selector area, 130 0 to 130 m -1 : Tag bank, 20
4: Intermediate memory
Claims (34)
憶する内部メモリを備え、当該内部メモリに記憶された
データを用いて演算処理を行う複数のプロセッサエレメ
ントと、 それぞれ複数のサブページからなる複数のページを記憶
するメインメモリと、 前記複数のプロセッサエレメントからアクセスされる共
有メモリとを有し、 前記共有メモリは、 前記メインメモリに記憶された前記複数のページのうち
一部のページを読み出して記憶する第1の記憶手段と、 前記第1の記憶手段に記憶されたサブページのそれぞれ
について、前記メインメモリへの書き戻しの必要性の有
無を示す特性データを記憶する第2の記憶手段と、 前記プロセッサエレメントから要求があったサブページ
が前記第1の記憶手段に記憶されていない場合に、前記
メインメモリへの書き戻しが必要なサブページの数が少
なくなるように前記第1の記憶手段に記憶されている複
数のページのなかから置き換え対象とするページを前記
特性データを参照して決定し、当該決定されたページが
記憶されている前記第1の記憶手段の記憶領域に、前記
メインメモリに記憶されている前記プロセッサエレメン
トから要求があったサブページを含むページを読み出し
て記憶するように制御する制御手段とを有する並列プロ
セッサ。An internal memory for storing one or a plurality of subpages, a plurality of processor elements for performing arithmetic processing using data stored in the internal memory, and a plurality of processor elements each comprising a plurality of subpages A main memory that stores a page; and a shared memory that is accessed from the plurality of processor elements. The shared memory reads and stores a part of the plurality of pages stored in the main memory. A first storage unit for storing, for each of the sub-pages stored in the first storage unit, a second storage unit for storing characteristic data indicating the necessity of writing back to the main memory; If the subpage requested by the processor element is not stored in the first storage means, Determining a page to be replaced from the plurality of pages stored in the first storage means with reference to the characteristic data so that the number of subpages that need to be written back to the memory is reduced, A control is performed such that a page including a subpage requested by the processor element stored in the main memory is read and stored in a storage area of the first storage unit in which the determined page is stored. A parallel processor having control means for performing
記憶されている前記第1の記憶手段の記憶領域に、前記
メインメモリに記憶されている前記プロセッサエレメン
トから要求があったサブページを含むページを読み出し
て記憶した後に、前記プロセッサエレメントから要求の
あったサブページを、前記第1の記憶手段から読み出し
て前記要求を出したプロセッサエレメントの前記内部メ
モリに記憶するように制御する請求項1に記載の並列プ
ロセッサ。2. The control means stores, in a storage area of the first storage means in which the determined page is stored, a subpage requested by the processor element stored in the main memory. After reading and storing the containing page, control is performed such that a subpage requested by the processor element is read from the first storage means and stored in the internal memory of the processor element that has issued the request. 2. The parallel processor according to 1.
トから要求があったサブページが前記第1の記憶手段に
記憶されている場合に、前記要求があったサブページを
前記第1の記憶手段から読み出して前記要求を出したプ
ロセッサエレメントの前記内部メモリに記憶するように
制御する請求項1に記載の並列プロセッサ。3. The control unit according to claim 1, wherein said subpage requested by said processor element is stored in said first storage unit, and said requested subpage is stored in said first storage unit. 2. The parallel processor according to claim 1, wherein the parallel processor is controlled to read and store in the internal memory of the processor element which has issued the request.
記憶されている前記第1の記憶手段の記憶領域に、前記
メインメモリに記憶されている前記プロセッサエレメン
トから要求があったサブページを含むページを読み出し
て記憶する際に、前記要求があったサブページを最初に
前記メインメモリから読み出して前記第1の記憶手段に
記憶するように制御する請求項1に記載の並列プロセッ
サ。4. The control means stores, in a storage area of the first storage means in which the determined page is stored, a subpage requested by the processor element stored in the main memory. 2. The parallel processor according to claim 1, wherein when reading and storing a page including the sub-page, control is performed such that the requested sub-page is first read from the main memory and stored in the first storage unit. 3.
に比べて高速アクセスが可能である請求項1に記載の並
列プロセッサ。5. The parallel processor according to claim 1, wherein said first storage means can access at a higher speed than said main memory.
ートを持つ複数のサブバンクに記憶領域が分割されてお
り、各サブバンクに単数または複数のサブページを記憶
する請求項1に記載の並列プロセッサ。6. The parallel processor according to claim 1, wherein said first storage means has a storage area divided into a plurality of subbanks each having a data port, and stores one or a plurality of subpages in each subbank. .
1の記憶手段とを接続する第1のバスと、 前記第1の記憶手段と前記メインメモリとを接続する第
2のバスとを有する請求項6に記載の並列プロセッサ。7. A system according to claim 1, further comprising: a first bus connecting said plurality of processor elements to said first storage means; and a second bus connecting said first storage means to said main memory. 7. The parallel processor according to 6.
バンクの単数のサブページを記憶する記憶領域からそれ
ぞれ構成され、それぞれ単数のページを記憶する複数の
バンクを有し、 前記制御手段は、前記メインメモリから読み出したペー
ジを、前記第1の記憶手段にバンク単位で記憶するよう
に制御する請求項6に記載の並列プロセッサ。8. The first storage means includes storage areas each storing a single subpage of a plurality of different subbanks, and has a plurality of banks each storing a single page. 7. The parallel processor according to claim 6, wherein control is performed such that pages read from said main memory are stored in said first storage means in bank units.
トから要求があったサブページが前記第1の記憶手段に
記憶されていない場合に、前記要求があったサブページ
の次に前記メインメモリから読み出すサブページを記憶
しようとする前記第1の記憶手段のサブバンクに既に記
憶されているサブページの特性データを参照し、前記第
1の記憶手段の複数のバンクのうち、前記既に記憶され
ているサブページが前記メインメモリへの書き戻しが必
要でないバンクに、前記要求があったサブページを含む
ページを記憶するように制御する請求項8に記載の並列
プロセッサ。9. The controller reads the requested subpage from the main memory when the subpage requested by the processor element is not stored in the first storage means. Referring to the characteristic data of the sub-page already stored in the sub-bank of the first storage unit in which the sub-page is to be stored, the sub-stored sub-bank of the plurality of banks of the first storage unit is referred to. 9. The parallel processor according to claim 8, wherein control is performed such that a page including the requested subpage is stored in a bank whose page does not need to be written back to the main memory.
手段に記憶されているサブページのそれぞれについて、
前記メインメモリへの書き戻しの必要性の有無を示すデ
ータの他に、対応するサブページの有効性を示す特定デ
ータを記憶し、 前記制御手段は、前記プロセッサエレメントから要求が
あったサブページが前記第1の記憶手段に記憶されてい
ない場合に、当該要求があったサブページを記憶しよう
とする前記第1の記憶手段のサブバンクに既に記憶され
ているサブページの特性データを参照し、前記既に記憶
されているサブページが有効でない記憶領域を含むバン
クを検索し、当該バンクが1つ存在する場合に、前記検
索されたバンクに、前記要求があったサブページを含む
ページを記憶し、 前記要求があったサブページを記憶しようとする前記第
1の記憶手段のサブバンクに記憶されたサブページが有
効でない記憶領域を含むバンクが複数存在する場合に、
前記特定データを参照して、当該複数のバンクのうち、
前記要求があったサブページを記憶しようとするサブバ
ンクに既に記憶されているサブページが前記メインメモ
リへの書き戻しが必要でないバンクを検索し、当該検索
されたバンクに、前記要求があったサブページを含むペ
ージを記憶するように制御する請求項8に記載の並列プ
ロセッサ。10. The method according to claim 10, wherein the second storage unit stores, for each of the subpages stored in the first storage unit,
In addition to the data indicating the necessity of writing back to the main memory, specific data indicating the validity of the corresponding subpage is stored, and the control unit determines whether the subpage requested by the processor element is If not stored in the first storage means, reference is made to the characteristic data of the subpage already stored in the subbank of the first storage means for storing the requested subpage, Searching for a bank including a storage area in which the already stored subpage is not valid, and storing the page including the requested subpage in the searched bank when there is one such bank; A plurality of banks including a storage area in which the subpage stored in the subbank of the first storage unit that intends to store the requested subpage is invalid. In the case of standing,
Referring to the specific data, among the plurality of banks,
A subpage already stored in a subbank in which the requested subpage is to be stored is searched for a bank that does not need to be written back to the main memory, and the searched bank stores the requested subpage in the searched bank. 9. The parallel processor according to claim 8, wherein control is performed to store a page including a page.
記サブバンクの各々と、前記第1のバスおよび第2のバ
スのうち選択した一方とをそれぞれ接続する複数の選択
手段をさらに有する請求項7に記載の並列プロセッサ。11. A plurality of selection means provided corresponding to the sub-bank and connecting each of the sub-banks to a selected one of the first bus and the second bus, respectively. A parallel processor according to item 1.
前記プロセッサエレメントとの間で転送されるサブペー
ジと、前記第1の記憶手段と前記メインメモリとの間で
転送されるサブページとが異なる場合に、前記第1の記
憶手段と前記プロセッサエレメントとの間での前記第1
のバスを介したサブページの転送処理と、前記第1の記
憶手段と前記メインメモリとの間での前記第2のバスを
介したサブページの転送処理とを並行して行うように制
御する請求項7に記載の並列プロセッサ。12. The sub-page transferred between the first storage unit and the processor element and the sub-page transferred between the first storage unit and the main memory. Is different from the first storage means and the processor element,
And the sub-page transfer process between the first storage means and the main memory via the second bus is controlled in parallel. A parallel processor according to claim 7.
記第2のバスのデータ転送速度と同一、または、前記第
2のバスのデータ転送速度より速い請求項7に記載の並
列プロセッサ。13. The parallel processor according to claim 7, wherein a data transfer rate of said first bus is equal to or faster than a data transfer rate of said second bus.
バンクに、それぞれ単数のデータポートが設けられてい
る請求項6に記載の並列プロセッサ。14. The parallel processor according to claim 6, wherein a single data port is provided in each sub-bank of the storage area of said first storage means.
は、同じ記憶容量を有する請求項6に記載の並列プロセ
ッサ。15. The parallel processor according to claim 6, wherein a plurality of subbanks of said first storage means have the same storage capacity.
と、前記ページを構成するサブページの数とは同じであ
る請求項6に記載の並列プロセッサ。16. The parallel processor according to claim 6, wherein the number of subbanks in said first storage means is the same as the number of subpages constituting said page.
モリは、複数のサブページを記憶する請求項1に記載の
並列プロセッサ。17. The parallel processor according to claim 1, wherein said internal memory of said processor element stores a plurality of subpages.
は、前記メインメモリのアドレス空間で連続したアドレ
スを持つ請求項1に記載の並列プロセッサ。18. The parallel processor according to claim 1, wherein the plurality of subpages constituting the page have consecutive addresses in an address space of the main memory.
であり、 前記複数のプロセッサエレメントは、前記画像データを
用いて画像処理を行う請求項1に記載の並列プロセッ
サ。19. The parallel processor according to claim 1, wherein the data of the subpage is image data, and the plurality of processor elements perform image processing using the image data.
のサブページからなる複数のページのうち一部のページ
を、複数のプロセッサエレメントからアクセスされる共
有メモリに記憶し、前記複数のプロセッサエレメントの
うち任意のプロセッサエレメントから要求があったサブ
ページを前記共有メモリから読み出して前記要求を出し
たプロセッサエレメントに出力するメモリ制御方法であ
って、 前記プロセッサエレメントから要求があったサブページ
が前記共有メモリに記憶されていない場合に、前記メイ
ンメモリへの書き戻しが必要なサブページの数が少なく
なるように前記共有メモリに記憶されている複数のペー
ジのなかから置き換え対象とするページを、前記共有メ
モリに記憶されたサブページのそれぞれについて前記メ
インメモリへの書き戻しの必要性の有無を示す前記特性
データを参照して決定し、 当該決定されたページが記憶されている前記共有メモリ
の記憶領域に、前記メインメモリに記憶されている前記
プロセッサエレメントから要求があったサブページを含
むページを読み出して記憶し、 前記共有メモリから前記要求があったサブページを読み
出して前記要求を出したプロセッサエレメントに出力す
るメモリ制御方法。20. A part of a plurality of pages each consisting of a plurality of subpages stored in a main memory, stored in a shared memory accessed by a plurality of processor elements, and A memory control method for reading a subpage requested from an arbitrary processor element from the shared memory and outputting the read subpage to the processor element that issued the request, wherein the subpage requested from the processor element is stored in the shared memory. If not stored, the page to be replaced is selected from the plurality of pages stored in the shared memory so that the number of subpages that need to be written back to the main memory is reduced. The main memory for each of the sub-pages stored in The processor element stored in the main memory in a storage area of the shared memory in which the determined page is stored, in the storage area of the shared memory in which the determined page is stored. And reading and storing a page including the requested subpage from the shared memory, and reading the requested subpage from the shared memory and outputting the read subpage to the processor element that issued the request.
前記共有メモリの記憶領域に、前記メインメモリに記憶
されている前記プロセッサエレメントから要求があった
サブページを含むページを読み出して記憶した後に、前
記プロセッサエレメントから要求のあったサブページ
を、前記共有メモリから読み出して前記要求を出したプ
ロセッサエレメントの前記内部メモリに記憶する請求項
20に記載のメモリ制御方法。21. After reading and storing a page including a subpage requested by the processor element stored in the main memory into a storage area of the shared memory in which the determined page is stored, 21. The memory control method according to claim 20, wherein a subpage requested by the processor element is read from the shared memory and stored in the internal memory of the processor element that has issued the request.
ったサブページが前記共有メモリに記憶されている場合
に、前記要求があったサブページを前記共有メモリから
読み出して前記要求を出したプロセッサエレメントの前
記内部メモリに記憶する請求項20に記載のメモリ制御
方法。22. When a subpage requested by the processor element is stored in the shared memory, the requested subpage is read from the shared memory, and the subpage of the processor element that issues the request is read. The memory control method according to claim 20, wherein the information is stored in an internal memory.
前記共有メモリの記憶領域に、前記メインメモリに記憶
されている前記プロセッサエレメントから要求があった
サブページを含むページを読み出して記憶する際に、前
記要求があったサブページを最初に前記メインメモリか
ら読み出して前記共有メモリに記憶する請求項20に記
載のメモリ制御方法。23. When reading and storing a page including a subpage requested by the processor element stored in the main memory, in a storage area of the shared memory storing the determined page. 21. The memory control method according to claim 20, wherein the requested subpage is first read from the main memory and stored in the shared memory.
比べて高速アクセスが可能である請求項20に記載のメ
モリ制御方法。24. The memory control method according to claim 20, wherein the shared memory can be accessed at a higher speed than the main memory.
データポートを持つ複数のサブバンクに分割し、各サブ
バンクに単数または複数のサブページを記憶する請求項
20に記載のメモリ制御方法。25. The memory control method according to claim 20, wherein the storage area of the shared memory is divided into a plurality of subbanks each having a data port, and each subbank stores one or more subpages.
ッサエレメントと前記共有メモリとの間のサブページの
転送を行い第2のバスを介して、前記共有メモリと前記
メインメモリとの間のサブページの転送を行う請求項2
0に記載のメモリ制御方法。26. Transfer of a subpage between the plurality of processor elements and the shared memory via a first bus, and transfer between the shared memory and the main memory via a second bus. 3. A sub-page is transferred.
0. The memory control method according to 0.
なるサブバンクの単数のサブページを記憶する記憶領域
からそれぞれ構成され、それぞれ単数のページを記憶す
る複数のバンクに分割し、 前記メインメモリから読み出したページを、前記共有メ
モリにバンク単位で記憶する請求項25に記載のメモリ
制御方法。27. The storage area of the shared memory is constituted by storage areas each storing a single subpage of a plurality of different subbanks, and is divided into a plurality of banks each storing a single page. 26. The memory control method according to claim 25, wherein the read page is stored in the shared memory for each bank.
ったサブページが前記共有メモリに記憶されていない場
合に、前記要求があったサブページの次に前記メインメ
モリから読み出すサブページを記憶しようとする前記共
有メモリのサブバンクに既に記憶されているサブページ
の特性データを参照し、前記共有メモリの複数のバンク
のうち、前記既に記憶されているサブページが前記メイ
ンメモリへの書き戻しが必要でないバンクに、前記要求
があったサブページを含むページを記憶する請求項27
に記載のメモリ制御方法。28. When the subpage requested by the processor element is not stored in the shared memory, the subpage to be read from the main memory after the requested subpage is stored. Referring to the characteristic data of the sub-page already stored in the sub-bank of the shared memory, among the plurality of banks of the shared memory, the already-stored sub-page becomes the bank which does not need to be written back to the main memory. And storing a page including the requested subpage.
3. The memory control method according to 1.
憶されているサブページのそれぞれについて、前記メイ
ンメモリへの書き戻しの必要性の有無を示すデータの他
に、対応するサブページの有効性を示すデータを含み前
記プロセッサエレメントから要求があったサブページが
前記共有メモリに記憶されていない場合に、当該要求が
あったサブページを記憶しようとする前記共有メモリの
サブバンクに既に記憶されているサブページの特性デー
タを参照し、前記既に記憶されているサブページが有効
でない記憶領域を含むバンクを検索し、当該バンクが1
つ存在する場合に、前記検索されたバンクに、前記要求
があったサブページを含むページを記憶し、 前記要求があったサブページを記憶しようとする前記共
有メモリのサブバンクに記憶されたサブページが有効で
ない記憶領域を含むバンクが複数存在する場合に、前記
特定データを参照して、当該複数のバンクのうち、前記
要求があったサブページを記憶しようとするサブバンク
に既に記憶されているサブページが前記メインメモリへ
の書き戻しが必要でないバンクを検索し、当該検索され
たバンクに、前記要求があったサブページを含むページ
を記憶する請求項27に記載のメモリ制御方法。29. The specific data includes, for each of the subpages stored in the shared memory, data indicating whether necessity of writing back to the main memory and validity of a corresponding subpage. If the sub-page requested by the processor element is not stored in the shared memory and contains the data indicating that the requested sub-page is already stored in the sub-bank of the shared memory in which the requested sub-page is to be stored. With reference to the characteristic data of the subpage, a search is made for a bank including a storage area where the already stored subpage is not valid.
If there is one, a page including the requested subpage is stored in the searched bank, and a subpage stored in a subbank of the shared memory in which the requested subpage is to be stored. When there are a plurality of banks including a storage area that is not valid, referring to the specific data, a sub-bank already stored in a sub-bank in which the requested sub-page is to be stored among the plurality of banks is referred to. 28. The memory control method according to claim 27, wherein a page is searched for a bank that does not need to be written back to the main memory, and a page including the requested subpage is stored in the searched bank.
ントとの間で転送されるサブページと、前記共有メモリ
と前記メインメモリとの間で転送されるサブページとが
異なる場合に、前記共有メモリと前記プロセッサエレメ
ントとの間での前記第1のバスを介したサブページの転
送処理と、前記共有メモリと前記メインメモリとの間で
の前記第2のバスを介したサブページの転送処理とを並
行して行う請求項20に記載のメモリ制御方法。30. When a subpage transferred between the shared memory and the processor element is different from a subpage transferred between the shared memory and the main memory, the shared memory and the Sub-page transfer processing via the first bus with the processor element and sub-page transfer processing via the second bus between the shared memory and the main memory are performed in parallel. 21. The memory control method according to claim 20, wherein the memory control method is performed.
は、前記メインメモリのアドレス空間で連続したアドレ
スを持つ請求項20に記載のメモリ制御方法。31. The memory control method according to claim 20, wherein the plurality of subpages constituting the page have continuous addresses in an address space of the main memory.
であり、 前記複数のプロセッサエレメントは、前記画像データを
用いて画像処理を行う請求項20に記載のメモリ制御方
法。32. The memory control method according to claim 20, wherein the data of the sub-page is image data, and the plurality of processor elements perform image processing using the image data.
内部メモリを備え、当該内部メモリに記憶されたデータ
を用いて演算処理を行う単数のプロセッサエレメント
と、 それぞれ複数のサブページからなる複数のページを記憶
するメインメモリと、 前記プロセッサエレメントからアクセスされる中間メモ
リとを有し、 前記中間メモリは、 前記メインメモリに記憶された前記複数のページのうち
一部のページを読み出して記憶する第1の記憶手段と、 前記第1の記憶手段に記憶されたサブページのそれぞれ
について、前記メインメモリへの書き戻しの必要性の有
無を示す特性データを記憶する第2の記憶手段と、 前記プロセッサエレメントから要求があったサブページ
が前記第1の記憶手段に記憶されていない場合に、前記
メインメモリへの書き戻しが必要なサブページの数が少
なくなるように前記第1の記憶手段に記憶されている複
数のページのなかから置き換え対象とするページを前記
特性データを参照して決定し、当該決定されたページが
記憶されている前記第1の記憶手段の記憶領域に、前記
メインメモリに記憶されている前記プロセッサエレメン
トから要求があったサブページを含むページを読み出し
て記憶するように制御する制御手段とを有するプロセッ
サ。33. An internal memory for storing one or more subpages, a single processor element for performing arithmetic processing using data stored in the internal memory, and a plurality of pages each comprising a plurality of subpages And a middle memory accessed from the processor element, wherein the middle memory reads and stores a part of the plurality of pages stored in the main memory. A second storage unit that stores, for each of the sub-pages stored in the first storage unit, characteristic data indicating whether writing back to the main memory is necessary, the processor element When the subpage requested by the user is not stored in the first storage means, A page to be replaced is determined from the plurality of pages stored in the first storage unit with reference to the characteristic data so that the number of subpages requiring rewriting is reduced. Control means for reading and storing a page including a subpage requested by the processor element stored in the main memory in a storage area of the first storage means in which the read page is stored. And a processor comprising:
のサブページからなる複数のページのうち一部のページ
を中間メモリに記憶し、プロセッサエレメントから要求
があったサブページを前記中間メモリから読み出して前
記プロセッサエレメントに出力するメモリ制御方法であ
って、 前記プロセッサエレメントから要求があったサブページ
が前記中間メモリに記憶されていない場合に、前記メイ
ンメモリへの書き戻しが必要なサブページの数が少なく
なるように前記中間メモリに記憶されている複数のペー
ジのなかから置き換え対象とするページを、前記中間メ
モリに記憶されたサブページのそれぞれについて前記メ
インメモリへの書き戻しの必要性の有無を示す前記特性
データを参照して決定し、 当該決定されたページが記憶されている前記中間メモリ
の記憶領域に、前記メインメモリに記憶されている前記
プロセッサエレメントから要求があったサブページを含
むページを読み出して記憶し、 前記中間メモリから前記要求があったサブページを読み
出して前記プロセッサエレメントに出力するメモリ制御
方法。34. A part of a plurality of pages each consisting of a plurality of subpages stored in a main memory is stored in an intermediate memory, and a subpage requested by a processor element is read from the intermediate memory. A memory control method for outputting to the processor element, wherein when a subpage requested by the processor element is not stored in the intermediate memory, the number of subpages that need to be written back to the main memory is In order to reduce the number of pages to be replaced from among the plurality of pages stored in the intermediate memory, it is determined whether or not it is necessary to write back to the main memory for each of the subpages stored in the intermediate memory. Is determined with reference to the characteristic data shown, and the determined page is stored. In the storage area of the intermediate memory, a page including a subpage requested by the processor element stored in the main memory is read and stored, and the requested subpage is read from the intermediate memory to read the page. A memory control method for outputting to a processor element.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10004324A JPH11203200A (en) | 1998-01-12 | 1998-01-12 | Parallel processor and memory control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10004324A JPH11203200A (en) | 1998-01-12 | 1998-01-12 | Parallel processor and memory control method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11203200A true JPH11203200A (en) | 1999-07-30 |
Family
ID=11581282
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10004324A Pending JPH11203200A (en) | 1998-01-12 | 1998-01-12 | Parallel processor and memory control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11203200A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010205083A (en) * | 2009-03-04 | 2010-09-16 | Canon Inc | Parallel processing processor system |
| JP2022031959A (en) * | 2017-06-22 | 2022-02-22 | マイクロン テクノロジー,インク. | Nonvolatile memory system, and subsystem thereof |
-
1998
- 1998-01-12 JP JP10004324A patent/JPH11203200A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010205083A (en) * | 2009-03-04 | 2010-09-16 | Canon Inc | Parallel processing processor system |
| JP2022031959A (en) * | 2017-06-22 | 2022-02-22 | マイクロン テクノロジー,インク. | Nonvolatile memory system, and subsystem thereof |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5640534A (en) | Method and system for concurrent access in a data cache array utilizing multiple match line selection paths | |
| US5826052A (en) | Method and apparatus for concurrent access to multiple physical caches | |
| US6629205B2 (en) | System and method for increasing the snoop bandwidth to cache tags in a cache memory subsystem | |
| JP2554449B2 (en) | Data processing system having cache memory | |
| JPH11203192A (en) | Parallel processor and arithmetic processing method | |
| US7809889B2 (en) | High performance multilevel cache hierarchy | |
| US5805855A (en) | Data cache array having multiple content addressable fields per cache line | |
| JPH09259036A (en) | Write-back cache and method for maintaining consistency in write-back cache | |
| JP2000010860A (en) | Cache memory control circuit, processor, processor system, and parallel processor system | |
| US8621152B1 (en) | Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access | |
| JPH04233050A (en) | Cache-memory exchanging protcol | |
| US11520706B2 (en) | Dram-aware caching | |
| US5761714A (en) | Single-cycle multi-accessible interleaved cache | |
| US5905997A (en) | Set-associative cache memory utilizing a single bank of physical memory | |
| EP0470739B1 (en) | Method for managing a cache memory system | |
| JP2000501539A (en) | Multi-port cache memory with address conflict detection | |
| US6240487B1 (en) | Integrated cache buffers | |
| US6901450B1 (en) | Multiprocessor machine and cache control method for providing higher priority to shared cache that is accessed by multiprocessors | |
| JPH11203200A (en) | Parallel processor and memory control method | |
| EP0310446A2 (en) | Cache memory management method | |
| JPH11316744A (en) | Parallel processor and arithmetic processing method | |
| US20030188105A1 (en) | Management of caches in a data processing apparatus | |
| US20090164732A1 (en) | Cache memory system and cache memory control method | |
| US6581139B1 (en) | Set-associative cache memory having asymmetric latency among sets | |
| JPH04315235A (en) | Cache data replace method and cache data replace device for cache memory |