JPH10124392A - Method for optimizing cache competition miss of fixed area - Google Patents

Method for optimizing cache competition miss of fixed area

Info

Publication number
JPH10124392A
JPH10124392A JP8284201A JP28420196A JPH10124392A JP H10124392 A JPH10124392 A JP H10124392A JP 8284201 A JP8284201 A JP 8284201A JP 28420196 A JP28420196 A JP 28420196A JP H10124392 A JPH10124392 A JP H10124392A
Authority
JP
Japan
Prior art keywords
information
page
group
optimization
pages
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8284201A
Other languages
Japanese (ja)
Inventor
Yasushi Sugimura
康 杉村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP8284201A priority Critical patent/JPH10124392A/en
Publication of JPH10124392A publication Critical patent/JPH10124392A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce competition misses between addresses in a fixed area by preparing the information of rspective using physical pages, the information of respective groups and secondary cache page information and executing optimization. SOLUTION: The information 25 of respective using physical pages, the information 26 of respective groups and secondary cache page information 27 are prepared by using access state data 11 and system constitution data 12 as input information to execute optimization. A dummy area reducing pages as less as possible is inserted into a position immediately before or after a group as trial, the number of competition misses generated due to the insertion result is calculated and an inserting position and the number of pages to be inserted are found out so that the number of competition misses is less than a target value. When the allocation of physical addresses in the fixed area is changed at the time of system generation in accordance with the calculated results, cache competition misses between fixed areas can be minimized. When the number of competition misses arrives at a fixed value, optimization is stopped.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は中央演算ユニット
(以降、CPUと略記)の物理アドレッシングキャッシ
ュメモリの固定エリアのキャッシュメモリ(以降、キャ
ッシュと略記)の競合ミスを最低にする最適化方法に係
り、特に電子計算機、ワードプロセッサ、電子交換機、
ワークステーション等の情報処理装置内のCPUの固定
エリアキャッシュ競合ミスの最適化方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an optimization method for minimizing contention errors in a cache memory (hereinafter abbreviated as cache) in a fixed area of a physical addressing cache memory of a central processing unit (hereinafter abbreviated as CPU). Especially electronic calculators, word processors, electronic exchanges,
The present invention relates to a method for optimizing a fixed area cache conflict miss of a CPU in an information processing apparatus such as a workstation.

【0002】[0002]

【従来の技術】一般に、情報処理装置内のCPUは高速
なキャッシュを有し、そのキャッシュで使用できる空間
には、次の二つがあり得る。
2. Description of the Related Art Generally, a CPU in an information processing apparatus has a high-speed cache, and the cache can use the following two types of space.

【0003】(1)固定エリア:論理アドレスと物理ア
ドレスの関係がハードウェア的に固定であるエリア。
(1) Fixed area: An area in which the relationship between a logical address and a physical address is fixed in hardware.

【0004】(2)浮動エリア:論理アドレスと物理ア
ドレスの関係は、OS(オペレーティングシステム)が
決定し、ハードウェア的には浮動であるエリア。
(2) Floating area: The relationship between a logical address and a physical address is determined by an OS (operating system) and is an area that is floating in hardware.

【0005】一方、キャッシュは、通常、その大きさが
数10キロバイト(以下KBと略記)〜数メガバイト
(以下MBと略記)からなり、その中に、16バイト
(以下Bと略記)から数百Bの大きさの多数の行を有
し、物理アドレスの一部を使用することにより、物理ア
ドレッシングキャッシュ内の行の番号を決定することに
より、アクセスされるキャッシュがある。このキャッシ
ュを、物理アドレッシングキャッシュという。この時、
アドレス空間の大きさは、通常数10MB以上であり、
キャッシュの大きさは、それよりもかなり小さいので、
相異なるアドレスであっても、同じ行へアクセスする場
合があり得る。この場合、行の内容は意図するものとは
異なり、使用できないので、メモリ等よりその内容を再
ロードする等の必要がある。これを、キャッシュの競合
ミスと言い、CPUの性能が低下する大きな要因であ
る。
[0005] On the other hand, a cache usually has a size of several tens of kilobytes (hereinafter abbreviated as KB) to several megabytes (hereinafter abbreviated as MB), and includes 16 bytes (hereinafter abbreviated as B) to several hundreds. Some caches have many rows of size B and are accessed by using a portion of the physical address to determine the number of the row in the physical addressing cache. This cache is called a physical addressing cache. At this time,
The size of the address space is usually several tens MB or more,
The size of the cache is much smaller,
Even if the addresses are different, the same row may be accessed. In this case, the content of the line is different from the intended one and cannot be used. Therefore, it is necessary to reload the content from a memory or the like. This is called a cache contention miss, and is a major factor in lowering CPU performance.

【0006】この競合ミスを最小にする方法として、浮
動エリアについては、その論理アドレスと物理アドレス
の関係を変更することにより、同一の行を集中して使用
することを防ぐ(使用していない他の行を使用する)こ
とにより、競合ミスを最小にする種々の方法が開発され
ている。しかしながら固定エリアについては、論理アド
レスと物理アドレスの関係を変更できないという特質が
存在するがために、固定エリア内のアドレスの相互間に
は競合ミスは起こらない、または、起こっても少ない、
ことを前提として有効な最適化の実現が行われていなか
った。
As a method of minimizing the contention error, in the floating area, the same row is prevented from being concentratedly used by changing the relationship between the logical address and the physical address (other than the unused area). Various methods have been developed to minimize contention mistakes. However, for the fixed area, since there is a characteristic that the relationship between the logical address and the physical address cannot be changed, conflict errors do not occur between the addresses in the fixed area, or even if they occur,
As a result, effective optimization has not been realized.

【0007】[0007]

【発明が解決しようとする課題】しかしながら、実際の
固定エリアの使用状況をトレースデータ等により解析す
ると、固定エリア内のアドレスの相互間で競合ミスが発
生し得るし、それらの競合ミスによる性能低下が、10
〜40%に達する例が存在する。
However, when the actual use condition of the fixed area is analyzed by trace data or the like, a conflict mistake may occur between the addresses in the fixed area, and the performance degradation due to the conflict mistake may occur. But 10
There are examples that reach ~ 40%.

【0008】本発明においては、上記固定エリアが論理
アドレスと物理アドレスの関係を変更できないという特
質を有するにもかかわらず、下記に述べる「課題を解決
するための手段」を用いることにより、固定エリア内の
アドレスの相互間の競合ミスを最低にする最適化方法を
提供する。
In the present invention, although the fixed area has the characteristic that the relationship between the logical address and the physical address cannot be changed, the fixed area can be changed by using the "means for solving the problem" described below. And an optimization method for minimizing contention mistakes between addresses within the same.

【0009】[0009]

【課題を解決するための手段】本発明においては、電子
計算機、ワードプロセッサ、電子交換機、ワークステー
ション等の情報処理装置の固定エリアにおいて一般的
な、次の三つの性質を利用する。 (性質1)固定エリアにおいては、物理アドレスと論理
アドレスの関係はハードウェア的に固定である。従っ
て、固定エリア内の複数のアドレスの相互間の競合ミス
を減少させるためには、論理アドレス(と物理アドレス
の両者)を移動するしか方法はない。 (性質2)固定エリアを有するシステムでは、一般に、
固定エリアはOSのカーネルエリア(基本OSの部分の
エリア)である。そこでは、多数のカーネルの機能のた
めのプログラムやデータが存在し、それらの大きさの合
計は、通常、4〜16MBに達する。それらの内オンラ
インサービス中に使用する部分は、一般に、ほんの一部
である。 (性質3)カーネルエリアは、多数の機能を含むが故
に、各プログラムの間に、通常、パッチエリアと称する
補修用のエリヤや、将来の拡張用のダミーエリアを多数
含有する。また一般に、それらを考慮して、カーネルエ
リアの論理アドレスは、システムの生成時に一括して指
定する。従って(浮動エリアのように1ページ単位に論
理アドレスと物理アドレスの関係を変更はできない
が)、あるまとまった単位で、数ページ分、論理アドレ
ス空間(および物理アドレス空間)を移動させること
は、一般に容易である。
According to the present invention, the following three general properties in a fixed area of an information processing apparatus such as an electronic computer, a word processor, an electronic exchange, and a workstation are utilized. (Property 1) In the fixed area, the relationship between the physical address and the logical address is fixed in hardware. Therefore, the only way to reduce contention errors between a plurality of addresses in the fixed area is to move the logical address (both the physical address). (Property 2) In a system having a fixed area, generally,
The fixed area is a kernel area of the OS (an area of the basic OS). There are numerous programs and data for the functions of the kernel, the sum of which usually amounts to 4-16 MB. The portion of them used during online services is generally only a small part. (Property 3) Since the kernel area includes a large number of functions, between each program, a repair area usually called a patch area and a large number of dummy areas for future expansion are included. In general, taking these factors into account, the logical addresses of the kernel area are specified collectively when the system is generated. Therefore, although the relationship between the logical address and the physical address cannot be changed in units of one page like a floating area, moving the logical address space (and physical address space) by several pages in a certain unit is Generally easy.

【0010】本発明の最適化方法では、その単位を
「群」と呼び、群の大きさの最小単位は、競合ミスを回
避するために物理アドレッシングキャッシュの大きさと
する。その群の直前または直後に、出来るだけ少ない数
ページのダミーエリアを試しに挿入し、挿入された結果
より発生する競合ミスの数を計算し、その競合ミスの数
が目標値以下となるような挿入位置と挿入ページ数を求
める。そして、それらの結果に従って、固定エリアの論
理アドレスの割付けを、システム生成時に変更すること
により、固定エリア相互間のキャッシュの競合ミスを最
低にする。なおそれらの計算においては実際のシステム
におけるトレースデータより得た、使用されている論理
アドレスと物理アドレスの情報を使用する。
In the optimization method of the present invention, the unit is called a "group", and the minimum unit of the size of the group is the size of the physical addressing cache in order to avoid a contention mistake. Immediately before or after the group, insert a dummy area of as few pages as possible as a trial, calculate the number of conflict mistakes generated from the inserted result, and make sure that the number of conflict mistakes is less than the target value. Find the insertion position and the number of pages to be inserted. Then, according to those results, the assignment of the logical address of the fixed area is changed at the time of system generation, thereby minimizing cache conflict miss between the fixed areas. In these calculations, information on used logical addresses and physical addresses obtained from trace data in an actual system is used.

【0011】本発明は、上記で述べたように、群という
単位で物理アドレス(およびそれに対応する論理アドレ
ス)を移動するので、論理アドレスと物理アドレスの関
係を変更できなくても、実質的に競合ミスの発生を最低
にするシステム生成時の論理アドレスを求めることが可
能であり、従来は断念されていた固定エリア相互間の競
合ミスを大幅に減らしシステムの性能を大きく向上させ
ることが可能である。
According to the present invention, as described above, physical addresses (and corresponding logical addresses) are moved in units of groups, and therefore, even if the relationship between logical addresses and physical addresses cannot be changed, It is possible to find the logical address at the time of system generation that minimizes the occurrence of contention errors, and it is possible to greatly reduce contention errors between fixed areas, which had been abandoned in the past, and greatly improve system performance. is there.

【0012】[0012]

【発明の実施の形態】図1は、本発明の一実施例の「物
理アドレッシングキャッシュ(以降、2次キャッシュと
称する)の固定エリアのキャッシュ競合ミスの最適化方
法」の入出力の概要とブロック図を示す。同図は、入力
情報1と、最適化プログラムと最適化データ2と、出力
情報3との関係、並びに、それらと最適化プログラムと
最適化データ2内の各ブロックである各使用物理ページ
情報処理21と、各群の情報処理22と、2次キャッシ
ュページ情報処理23と、最適化処理24と、各使用物
理ページの情報25と、各群の情報26と、2次キャッ
シュページ情報27との関係を示す。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 shows an outline of input / output and a block diagram of a method for optimizing a cache contention miss in a fixed area of a physical addressing cache (hereinafter referred to as a secondary cache) according to an embodiment of the present invention. The figure is shown. The figure shows the relationship between the input information 1, the optimization program, the optimization data 2, and the output information 3, and the information on each used physical page which is each block in the optimization program and the optimization data 2. 21, information processing 22 of each group, secondary cache page information processing 23, optimization processing 24, information 25 of each used physical page, information 26 of each group, and secondary cache page information 27. Show the relationship.

【0013】まず、入力情報1はアクセス状態データ1
1と、システム構成データ12とより構成される。その
うち、アクセス状態データ11は、通常システム全体の
トレース、または、エミュレーションにより作成される
情報の内、本発明の最適化方法で使用する情報を格納し
てあるファイルであり、図2の情報をアクセスされた順
序に多数格納している。システム構成データ12の情報
は、最適化が行われるシステムにおいて、本発明の最適
化方法が使用するシステム構成データであり、図3に示
す情報を格納しているファイルである。
First, input information 1 is access state data 1
1 and system configuration data 12. The access state data 11 is a file storing information used in the optimization method of the present invention, out of information created by tracing or emulation of the entire system. Many are stored in the order given. The information of the system configuration data 12 is the system configuration data used by the optimization method of the present invention in the system to be optimized, and is a file storing the information shown in FIG.

【0014】最適化プログラムと最適化データ2は、各
使用物理ページ情報処理21と、各群の情報処理22
と、2次キャッシュページ情報処理23と、最適化処理
24と、各使用物理ページの情報25と、各群の情報2
6と、2次キャッシュページ情報27の各ブロックによ
り構成される。
The optimizing program and the optimizing data 2 are used for each physical page information processing 21 and each group of information processing 22.
, Secondary cache page information processing 23, optimization processing 24, information 25 of each used physical page, and information 2 of each group.
6 and each block of the secondary cache page information 27.

【0015】各使用物理ページ情報処理21が起動され
ると、各使用物理ページ情報処理21は、まず、システ
ム構成データ12を入力して内部情報域(レジスタ等)
に設定し、その後、アクセス状態データ11を読み込み
ながら、各使用物理ページの情報25を作成する。各使
用物理ページの情報25は、図4の情報を一つの構造体
とし、それが使用されているぺ−ジ数分作成して配列と
した「構造体の配列」であり、使用されているすべての
ページに関する情報である。
When each used physical page information processing 21 is activated, each used physical page information processing 21 first inputs the system configuration data 12 to the internal information area (register, etc.).
Then, while reading the access state data 11, information 25 of each used physical page is created. The information 25 of each physical page to be used is an “array of structures” which is the information of FIG. 4 as one structure, and is created and arranged for the number of pages in which it is used, and is used. Information about all pages.

【0016】その後、各使用物理ページ情報処理21は
各群の情報処理22に制御を渡す。各群の情報処理22
は、制御を渡されると、内部情報域に設定されているシ
ステム構成データ12と、各使用物理ページの情報25
を使用して、各群の情報26を作成する。各群の情報2
6は、図5に示す情報を、一つの構造体とし、それを、
群の数分作成して配列とした「構造体の配列」であり、
すべての群に関する情報であり、その構造体の配列の添
字(0から始まる)に1を加算したものが、その構造体
の情報の群番号を表す。その後、各群の情報処理22は
2次キャッシュページ情報処理23に制御を渡す。
Thereafter, each used physical page information processing 21 transfers control to each group of information processing 22. Information processing 22 for each group
When the control is passed, the system configuration data 12 set in the internal information area and the information 25 of each used physical page
Is used to create information 26 for each group. Information 2 for each group
6, the information shown in FIG. 5 is made into one structure, and
This is an "array of structures" created and arrayed for each group.
This is information on all groups, and a value obtained by adding 1 to a subscript (starting from 0) of the array of the structure represents a group number of the information of the structure. After that, the information processing 22 of each group passes control to the secondary cache page information processing 23.

【0017】2次キャッシュページ情報処理23は、制
御を渡されると、内部情報域に設定されているシステム
構成データ12と、各使用物理ページの情報25を使用
して、2次キャッシュページ情報27を作成する。この
時の2次キャッシュページ情報27の内容は、最適化を
行う前の2次キャッシュの競合ミスの状態等を表すもの
で、図6の情報を構造体とし、1ページが4096Bの
場合(以降、1ページを4096Bとする)、2次キャ
ッシュ内にあるペ一ジ数[2次キャッシュの大きさ÷ペ
ージの大きさ(=4096B)]分を配列とした、構造
体の配列であり、その添字が2次キャッシュ内の相対ペ
ージ番号を表す。その後、最適化処理24に制御を渡
す。
When the control is passed, the secondary cache page information processing unit 23 uses the system configuration data 12 set in the internal information area and the information 25 of each used physical page to store the secondary cache page information 27. Create At this time, the contents of the secondary cache page information 27 indicate the state of the contention miss of the secondary cache before the optimization is performed, and the information of FIG. , One page is assumed to be 4096B). This is an array of structures in which the number of pages [secondary cache size / page size (= 4096B)] in the secondary cache is arrayed. The subscript indicates the relative page number in the secondary cache. Thereafter, control is passed to the optimization processing 24.

【0018】最適化処理24は、制御を渡されると、 (1)まず、2次キャッシュページ情報27を参照し
て、2次キャッシュ内の各ページ毎に最適化が必要かど
うかを判断する。最適化が必要でなければ、群の情報を
解析結果として、出力情報3に出力して、最適化処理2
4の処理を終わる。最適化が必要であれば、(2)へ行
く。 (2)最適化が必要な場合は、各使用物理ページの情報
25と各群の情報26と2次キャッシュページ情報27
を、最適化処理24の内部にコピーして、競合状態が図
7のどのパターンになるかを判定し、そのパターンに応
じて種々の変更を行うことにより、最適化を試みる。 (3)最適化が成功すれば、変更されたコピーの内容
を、各使用物理ページの情報25と、各群の情報26
と、2次キャッシュページ情報27に戻すことにより2
次キャッシュ内の1ページに関する最適化を終了し、上
記(1)へ戻る。 (3’)最適化が失敗すれば、各使用物理ページの情報
25と各群の情報26と2次キャッシュページ情報27
を、最適化処理24の内部に再度コピーして(元に戻し
て)、種々の変更の程度を変えて、最適化を再度試み
る。この最適化の試みの繰り返しは、最大で、[(その
時の最適化対象である2次キャッシュ内のペ一ジにおい
て存在する「ページ競合数」)―1]×(2次キャッシ
ュの全ページ数−1)回行われ、それでも最適化が成功
しない場合は、最適化を中止して、メッセージを出力
し、その時の各群の情報26の内容を、解析結果である
出力情報3のファイルに出力してすべての処理を終わ
る。
When the control is passed to the optimization processing 24, (1) first, it is determined whether or not optimization is necessary for each page in the secondary cache by referring to the secondary cache page information 27. If optimization is not necessary, the group information is output to the output information 3 as an analysis result, and optimization processing 2
The processing of 4 is finished. If optimization is required, go to (2). (2) When optimization is required, information 25 of each used physical page, information 26 of each group, and secondary cache page information 27
Is copied into the optimization processing 24 to determine which of the patterns in FIG. 7 is the race condition, and various changes are made in accordance with the pattern to try to optimize. (3) If the optimization is successful, the contents of the changed copy are stored in the information 25 of each used physical page and the information 26 of each group.
By returning to the secondary cache page information 27,
The optimization for one page in the next cache is completed, and the process returns to (1). (3 ′) If the optimization fails, the information 25 of each used physical page, the information 26 of each group, and the secondary cache page information 27
Is again copied (returned) inside the optimization processing 24, and the optimization is tried again with different degrees of change. The maximum number of repetitions of this optimization attempt is [((the number of page conflicts existing in the page in the secondary cache to be optimized at that time)) − 1] × (total number of pages in the secondary cache) -1) It is performed once, and if the optimization still does not succeed, the optimization is stopped, a message is output, and the contents of the information 26 of each group at that time are output to a file of the output information 3 which is the analysis result. And finish all the processing.

【0019】次に最適化プログラムと最適化データ2の
処理について、その中のブロック毎に、説明する。
Next, the processing of the optimization program and the optimization data 2 will be described for each block therein.

【0020】図8は、本発明の一実施例の最適化プログ
ラムと最適化データ2の各使用物理ページ情報処理21
のブロックのフローチャートを示す。図8はステップ1
001からステップ1013について示す。
FIG. 8 is a diagram showing an example of an optimization program according to an embodiment of the present invention and information processing of each used physical page 21 of the optimization data 2.
3 shows a flowchart of the block. FIG. 8 shows step 1
001 to Step 1013 will be described.

【0021】図9は、本発明の一実施例の最適化プログ
ラムと最適化データ2の各群の情報処理22のブロック
のフローチャート(その1)を示す。図9はステップ1
020からステップ1030について示す。
FIG. 9 shows a flowchart (part 1) of the block of the information processing 22 of each group of the optimization program and the optimization data 2 according to one embodiment of the present invention. FIG. 9 shows step 1
020 to step 1030 will be described.

【0022】図10は、本発明の一実施例の最適化プロ
グラムと最適化データ2の各群の情報処理22のブロッ
クのフローチャート(その2)を示す。図10はステッ
プ1040からステップ1051について示す。
FIG. 10 is a flowchart (part 2) of the block of the information processing 22 of each group of the optimization program and the optimization data 2 according to one embodiment of the present invention. FIG. 10 shows steps 1040 to 1051.

【0023】図11は、本発明の一実施例の最適化プロ
グラムと最適化データ2の2次キャッシュページ情報処
理23のブロックのフローチャート(その1)を示す。
図11はステップ1060からステップ1068につい
て示す。
FIG. 11 is a flowchart (part 1) of a block of the secondary cache page information processing 23 of the optimization program and the optimization data 2 according to an embodiment of the present invention.
FIG. 11 shows steps 1060 to 1068.

【0024】図12は、本発明の一実施例の最適化プロ
グラムと最適化データ2の2次キャッシュページ情報処
理23のブロックのフローチャート(その2)を示す。
図12はステップ1070からステップ1075につい
て示す。
FIG. 12 is a flowchart (part 2) of a block of the secondary cache page information processing 23 of the optimization program and the optimization data 2 according to the embodiment of the present invention.
FIG. 12 shows steps 1070 to 1075.

【0025】図13は、本発明の一実施例の最適化プロ
グラムと最適化データ2の最適化処理24のブロックの
フローチャート(その1)を示す。図13はステップ1
080からステップ1091について示す。
FIG. 13 shows a flowchart (No. 1) of an optimization program and an optimization process 24 for optimizing data 2 according to an embodiment of the present invention. FIG. 13 shows step 1
Steps 080 to 1091 will be described.

【0026】図14は、本発明の一実施例の最適化プロ
グラムと最適化データ2の最適化処理24のブロックの
フローチャート(その2)を示す。図14はステップ1
095からステップ1109について示す。
FIG. 14 is a flowchart (part 2) of an optimization program and an optimization process 24 for optimizing data 2 according to an embodiment of the present invention. FIG. 14 shows step 1
095 to step 1109 will be described.

【0027】図15は、本発明の一実施例の最適化プロ
グラムと最適化データ2の最適化処理24のブロックの
フローチャート(その3)を示す。図15はステップ1
110からステップ1116について示す。
FIG. 15 is a flowchart (part 3) of an optimization program and an optimization process 24 for optimizing data 2 according to an embodiment of the present invention. FIG. 15 shows step 1
Steps 110 to 1116 will be described.

【0028】図16は、本発明の一実施例の最適化プロ
グラムと最適化データ2の最適化処理24のブロックの
フローチャート(その4)を示す。図16はステップ1
120からステップ1131について示す。
FIG. 16 is a flowchart (part 4) of an optimization program and an optimization process 24 for optimizing data 2 according to an embodiment of the present invention. FIG. 16 shows step 1
Steps 1201 to 1131 will be described.

【0029】〔最適化プログラムと最適化データ2の各
使用物理ページ情報処理21のブロックの説明〕まず、
最適化プログラムと最適化データ2の各使用物理ページ
情報処理21のブロックについて説明する。
[Explanation of Blocks of Each Used Physical Page Information Processing 21 of Optimized Program and Optimized Data 2]
The blocks of the used physical page information processing 21 of the optimization program and the optimization data 2 will be described.

【0030】最適化プログラムと最適化データ2を起動
すると、各使用物理ページ情報処理21のブロックを開
始し、図8のフローチャートにおいて、当最適化の内部
情報であるすべての変数と構造体の配列を0クリアす
る。(ステップ1001)次に図3で構成されるシステ
ム構成データ12を入力して、内部情報である変数(変
数名は図3の項目と同じ)に設定する(ステップ100
2)。
When the optimizing program and the optimizing data 2 are started, a block of each used physical page information processing 21 is started, and in the flowchart of FIG. 8, an array of all variables and structures, which are internal information of the optimizing, is shown. Is cleared to 0. (Step 1001) Next, the system configuration data 12 shown in FIG. 3 is input and set as variables (variable names are the same as the items in FIG. 3) which are internal information (Step 100).
2).

【0031】次に、アクセス状態データ11より、図2
に示す論理アドレスと物理アドレスの一組を入力する
(ステップ1003)。
Next, from the access state data 11, FIG.
(Step 1003).

【0032】この時、アクセス状態データ11のファイ
ルが終わりであればEOF(エンドオブファイル)が返
されるので、それにより、ファイルの終わりを知ること
ができる。アクセス状態データ11は、通常、数万組以
上のデータを持っているので、ここではファイルの終わ
りではないのでステップ1005へ行く(ステップ10
04)。
At this time, if the file of the access state data 11 is at the end, EOF (end of file) is returned, so that the end of the file can be known. Since the access state data 11 usually has data of tens of thousands or more, the process goes to step 1005 because the end of the file is not reached here (step 105).
04).

【0033】入力した論理アドレスとシステム構成デー
タ12のうちの図3のNo35固定エリアの先頭論理ア
ドレスとNo36固定エリアの最終論理アドレスとを比
較することにより、入力した論理アドレスが固定エリア
のアドレスであるかどうかをチェックし、固定エリアの
アドレスでなければ処理対象でないので無視して、ステ
ップ1003に戻って、次のアクセス状態データを読込
み、固定エリアのアドレスであれば、ステップ1006
へ行く(ステップ1005)。
By comparing the input logical address with the start logical address of the No. 35 fixed area in FIG. 3 of the system configuration data 12 and the last logical address of the No. 36 fixed area, the input logical address is the address of the fixed area. It is checked whether there is any address, and if it is not the address of the fixed area, it is not processed and is ignored, and the process returns to step 1003 to read the next access state data.
Go to (Step 1005).

【0034】物理アドレスの下12ビットを0とするこ
とにより物理ページアドレスを求め、物理アドレスと
(2次キャッシュの大きさ−1)との論理積を取り、そ
の結果を行の大きさで割ることにより、行番号を求め
(ステップ1006)、図4の各使用物理ページの情報
25の構造体の配列の中のすべての物理ページアドレス
をチェックし同一の物理ページアドレスがあるかどうか
を探す(ステップ1007)。
The physical page address is obtained by setting the lower 12 bits of the physical address to 0, the logical product of the physical address and (the size of the secondary cache −1) is obtained, and the result is divided by the size of the row. Thus, the line number is obtained (step 1006), and all physical page addresses in the array of the structure of the information 25 of each used physical page in FIG. 4 are checked to see if the same physical page address is present (step 1006). Step 1007).

【0035】ある場合は、そこに情報を設定するために
ステップ1010へ行く。なければ、空き使用物理ペー
ジの情報に設定するために1013へ行く(ステップ1
008)。
If there is, go to step 1010 to set information there. If not, go to 1013 to set the information on the free physical page (step 1
008).

【0036】同一の物理ページアドレスがある場合は、
その使用物理ページの情報の行使用の有無情報の該当行
が使用無(0)であるかどうかをチェックし(ステップ
1010)、使用無(0)でないなら次のアクセス状態
データ11のチェックのためにステップ1003へ行
き、使用無であればステップ1012へ行き(ステップ
1011)該当の行使用有無情報と使用行数に1を加算
し、次のアクセス状態データ11のチェックのためにス
テップ1003へ戻る(ステップ1012)。
If there is the same physical page address,
It is checked whether or not the corresponding line of the line use presence / absence information of the used physical page information is unused (0) (step 1010). If not, the next access state data 11 is checked. Go to step 1003, if not used, go to step 1012 (step 1011), add 1 to the corresponding row use information and the number of used rows, and return to step 1003 to check the next access state data 11. (Step 1012).

【0037】同一の物理ページアドレスがない場合は、
使用物理ページの情報25の配列の最初の空き(「使用
物理ページの情報数」番目の使用物理ページの情報)の
構造体に物理ページアドレスを設定し、その使用行数を
1とし、該当の行使用有無情報に1を設定し、最初の空
きの番目を示す変数「使用物理ページの情報数」に1を
加算したあと、次のアクセス状態データ11のチェック
のためにステップ1003へ戻る(ステップ101
3)。
If there is no identical physical page address,
A physical page address is set in the first empty structure (“the number of used physical page information” of the used physical page information) in the array of the used physical page information 25, and the number of used rows is set to 1, and After setting 1 to the row use presence information and adding 1 to the variable "number of used physical page information" indicating the first free space, the process returns to step 1003 to check the next access state data 11 (step 1003). 101
3).

【0038】以上の処理を繰り返して、すべてのアクセ
ス状態データ11の処理が終わるとファイル終わりを検
出する(ステップ1004)ので、その場合、当「各使
用物理ページ情報処理21」を終わり、次のブロックの
処理(ステップ1020)に制御を渡す。以上により
「各使用物理ページの情報25」の作成を完了し、その
時、使用物理ページの情報数に作成を完了した情報の数
が設定されている。
The above processing is repeated, and when the processing of all the access state data 11 is completed, the end of the file is detected (step 1004). In this case, the "each used physical page information processing 21" ends, and the next Control is passed to the processing of the block (step 1020). As described above, the creation of the "information 25 of each used physical page" is completed, and at this time, the number of information that has been created is set in the information number of used physical pages.

【0039】〔最適化プログラムと最適化データ2の各
群の情報処理22のブロックの説明〕最適化プログラム
と最適化データ2の各群の情報処理22のブロックに制
御が渡ると、まず最初に、群の情報の処理を容易にする
ために、各使用物理ページの情報25のすべての物理ペ
ージアドレスを参照して、各使用物理ページの情報25
の各構造体を物理ページアドレス順に並べ直す(ステッ
プ1020)。
[Explanation of Blocks of Information Processing 22 of Each Group of Optimization Program and Optimization Data 2] When control is passed to the blocks of information processing 22 of each group of optimization program and optimization data 2, first, In order to facilitate the processing of the group information, all the physical page addresses of the information 25 of each used physical page are referred to, and the information 25 of each used physical page is referred to.
Are rearranged in the order of physical page addresses (step 1020).

【0040】そして群の情報処理を行うために、変数
(内部情報;以下省略)「使用物理ページ処理済数」と
変数「群情報数」を0とし、変数「仮想群番号1」をal
l F(0xffffffff)に初期設定する(ステップ102
1)。
In order to perform group information processing, the variable (internal information; hereinafter omitted) “number of processed physical pages processed” and the variable “group information number” are set to 0, and the variable “virtual group number 1” is set to al.
l Initially set to F (0xffffffff) (step 102
1).

【0041】次に、変数「仮想群番号2」に各使用物理
ページの情報25の0番目の使用物理ページの物理ペー
ジアドレスを2次キャッシュの大きさで割った結果を設
定する(ステップ1022)。
Next, the result obtained by dividing the physical page address of the 0th used physical page of the information 25 of each used physical page by the size of the secondary cache is set to the variable “virtual group number 2” (step 1022). .

【0042】これらの仮想群番号1と仮想群番号2の値
は、それぞれ、直前の使用物理ページの群番号と、現在
処理中の使用物理ページの群番号とが等しいかどうかを
区別するための情報である。そして、まず最初に、0番
目の群の情報(図5)の群クラスに先頭使用群を表す1
(図5No250参照)を設定し、旧先頭アドレスと現
先頭アドレスに「物理ページアドレスを群の境界に切り
下げた値である(仮想群番号2×2次キャッシュの大き
さ)」を設定する(ステップ1023)。
The values of the virtual group number 1 and the virtual group number 2 are used to discriminate whether the group number of the immediately preceding used physical page is equal to the group number of the currently used physical page being processed. Information. Then, first, the group class of the information of the 0-th group (FIG. 5) is 1 representing the head use group.
(Refer to No. 250 in FIG. 5), and set “the value obtained by rounding down the physical page address to the boundary of the group (virtual group number 2 × size of secondary cache)” for the old start address and the current start address (step). 1023).

【0043】これにより、1つの群の情報の作成を完了
したので、群情報数に1を加算し、次の群の処理を行う
ためにステップ1025へ行く(ステップ1024)。
Since the creation of one group of information has been completed, 1 is added to the number of group information, and the process proceeds to step 1025 to perform the processing of the next group (step 1024).

【0044】次の群の処理では、まず、現在処理中の使
用物理ページの群の情報であった仮想群番号2の内容
を、直前の使用物理ページの群の情報である仮想群番号
1に移す(ステップ1025)。
In the processing of the next group, first, the contents of the virtual group number 2 which is the information of the currently used physical page group is changed to the virtual group number 1 which is the information of the immediately preceding physical page group. Transfer (step 1025).

【0045】次の使用物理ページの情報を見るために使
用物理ページ処理済数に1を加算し(ステップ102
6)、すべての使用物理ページの情報25を処理したか
どうかを見るために使用物理ページ処理済数が使用物理
ページ情報数に等しいかどうかを調べ(ステップ102
7)、ここでは等しくないので次の使用物理ページの情
報25を調べるためにステップ1029へ行く(ステッ
プ1028)。
In order to see the information of the next used physical page, 1 is added to the used physical page processed number (step 102).
6), it is checked whether or not the used physical page processed number is equal to the used physical page information number to see whether or not all used physical page information 25 has been processed (step 102).
7) Since it is not equal here, the process goes to step 1029 to check the information 25 of the next used physical page (step 1028).

【0046】ここで、「使用物理ページ処理済数」番目
の使用物理ページの物理ページアドレスを2次キャッシ
ュの大きさで割ったものを仮想群番号2に設定し(ステ
ップ1029)、仮想群番号1と等しいかどうかをチェ
ックし、等しいなら現処理中の使用物理ページは直前の
使用物理ページと同じ群であるので、新たに群の情報を
作成する必要がないので、次の使用物理ページの処理を
行うためにステップ1026へ戻り、等しくないなら直
前の使用物理ページと同じ群ではないので、新たな群の
情報を作成するためにステップ1040へ行く(ステッ
プ1030)。
Here, the value obtained by dividing the physical page address of the "used physical page processed number" -th used physical page by the size of the secondary cache is set as the virtual group number 2 (step 1029), and the virtual group number is set. It is checked whether or not it is equal to 1. If it is equal, the used physical page currently being processed is in the same group as the previous used physical page, so there is no need to create new group information. Returning to step 1026 to perform the processing, if not equal, the group is not the same as the previous used physical page, so the process goes to step 1040 to create a new group of information (step 1030).

【0047】新たな群の情報の作成においては、まず仮
想群番号2が「仮想群番号1に1を加算したもの」と等
しいかどうかをチェックし、等しくないなら、直前の群
と新たに作成する群の間に、使用物理ページがない群
(以下、未使用群と略記)があるので、まず未使用群の
処理を行うために、ステップ1043へ行き、等しいな
ら、直前の群と新たに作成する群の間に未使用群はない
ので、使用群を作成するためにステップ1041へ行く
(ステップ1040)。
In creating new group information, it is first checked whether or not the virtual group number 2 is equal to "the virtual group number 1 plus 1". Since there is a group having no used physical page (hereinafter abbreviated as an unused group) among the groups to be used, first, the processing goes to step 1043 to perform processing of the unused group. Since there is no unused group among groups to be created, the process goes to step 1041 to create a used group (step 1040).

【0048】使用群の作成では、その使用群が前半使用
群であるか後半使用群であるかは、その時点では判らな
いので、まず、「群情報数」番目の群情報(新たに作成
する群)の群クラスに、(「該群が犠牲未使用群より前
にある使用群である」ことを意味する前半使用群)を表
す2(図5No250参照)をとりあえず設定し、旧先
頭アドレスと現先頭アドレスに「物理ページアドレスを
群の境界に切り下げた値である(仮想群番号2×2次キ
ャッシュの大きさ)」を設定し(ステップ1041)、
新たな群の情報を作成したので群情報数に1を加算し
て、次の使用物理ページの情報25を処理するためにス
テップ1025へ戻る(ステップ1042)。
In the creation of the use group, it is not known at that time whether the use group is the first half use group or the second half use group. Therefore, first, the “group information number” -th group information (newly created) In the group class of “group”, 2 (refer to No. 250 in FIG. 5) representing (“the first half use group meaning that this group is a use group before the sacrifice unused group”) is set for the time being, and the old top address and The current head address is set to “value obtained by rounding down the physical page address to the boundary of the group (virtual group number 2 × secondary cache size)” (step 1041).
Since the information of the new group has been created, 1 is added to the number of group information, and the process returns to step 1025 to process the information 25 of the next used physical page (step 1042).

【0049】未使用群の処理では、まず「群情報数」番
目の群情報(新たに作成する群の情報)に、とりあえ
ず、前半未使用群を表す3(図5No250参照)を設
定し、旧先頭アドレスと現先頭アドレスに「直前の群の
直後のアドレス」である「(仮想群番号1+1)×2次
キャッシュの大きさ」を設定し、その群の大きさを後で
計算するために、旧最終アドレスと現最終アドレスに、
「この次に作成する使用群の直前のぺ一ジのアドレス」
である「(仮想群番号2×2次キャッシュの大きさ)−
4096)(注:4096は1ページの大きさであ
る)」を設定し(ステップ1043)、これまでに作成
した未使用群の最大の大きさを表す変数「最大空群長」
が、現在作成中の未使用群の大きさである(旧最終アド
レス−旧先頭アドレス)より小さいかどうかを調査する
(ステップ1044)。
In the processing of the unused group, first, 3 (see No. 250 in FIG. 5) representing the first half unused group is set as the "group information number" -th group information (information of a newly created group). For the start address and the current start address, “(virtual group number 1 + 1) × the size of the secondary cache” which is “the address immediately after the immediately preceding group” is set, and the size of the group is calculated later. To the old last address and the current last address,
"Address of the page immediately before the next usage group to be created"
"(Virtual group number 2 x size of secondary cache)-
4096) (Note: 4096 is the size of one page) "(step 1043), and a variable" maximum empty group length "representing the maximum size of the unused group created so far.
Is smaller than the size of the unused group currently being created (old end address-old start address) (step 1044).

【0050】小さくなければ、当未使用群の処理を終わ
るためにステップ1048に行き、小さければ最大空群
長等を更新するために、ステップ1046へ行く(ステ
ップ1045)。
If it is not smaller, go to step 1048 to end the processing of the unused group, and if smaller, go to step 1046 to update the maximum empty group length and the like (step 1045).

【0051】最大空群長等の更新では、最大空群長に現
在処理中の未使用群の大きさである(旧最終アドレス−
旧先頭アドレス)を設定し(ステップ1046)、変数
「最大空群番号」に群情報数を設定して、当未使用群の
処理を終わるためにステップ1048へ行く(ステップ
1047)。
In updating the maximum empty group length or the like, the maximum empty group length is the size of the unused group that is currently being processed (the old last address−
The old head address is set (step 1046), the number of group information is set in the variable “maximum empty group number”, and the process goes to step 1048 to end the processing of the unused group (step 1047).

【0052】当未使用群の処理の終了として群情報数に
1を加算し、当未使用群の直後の使用群の情報を作成す
るために、ステップ1041へ戻る(ステップ104
8)。
When the processing of the unused group is completed, 1 is added to the number of group information, and the process returns to step 1041 to create information of the used group immediately after the unused group (step 104).
8).

【0053】以上の処理を繰り返して、すべての使用物
理ページに対して、群の情報の作成が完了すると、(ス
テップ1028において)使用物理ページ処理済数が使
用物理ページ情報数と等しくなるので、犠牲未使用群の
処理等を行うためにステップ1050へ行く。
When the above processing is repeated and the creation of group information is completed for all the used physical pages, the number of processed used physical pages becomes equal to the number of used physical page information (at step 1028). The process proceeds to step 1050 in order to perform processing of the unused sacrifice group.

【0054】最大空群番号より後にある群の内、使用群
の群クラスには後半使用群を表す5を、未使用群の群ク
ラスには後半未使用群を表す6を設定し、最大空群番号
の群の群クラスに犠牲未使用群を表す4を設定すること
により、群の情報を完成し(ステップ1050)、すべ
ての各使用物理ページの情報(図4)の物理ページアド
レスと、すべての使用群の旧先頭アドレスと、その群の
最終アドレスを表す「旧先頭アドレス+2次キャッシュ
の大きさ−4096」の情報を使用して、すべての各使
用物理ページの情報の群番号を決定して設定することに
より、各群の情報処理22のブロックの処理を完了し、
次のブロックの処理(ステップ1060)に制御を渡す
(ステップ1051)。
Of the groups after the maximum empty group number, 5 indicating the latter half use group is set for the group class of the use group, and 6 indicating the latter half unused group is set for the group class of the unused group. By setting 4 indicating a sacrifice unused group to the group class of the group of the group number, the information of the group is completed (step 1050), and the physical page addresses of the information (FIG. 4) of all the used physical pages, The group numbers of the information of all the used physical pages are determined by using the old head address of all the used groups and the information of “old head address + secondary cache size−4096” indicating the end address of the group. To complete the processing of the blocks of the information processing 22 of each group,
Control is passed to the process of the next block (step 1060) (step 1051).

【0055】〔最適化プログラムと最適化データ2の2
次キャッシュページ情報処理23のブロックの説明〕最
適化プログラムと最適化データ2の2次キャッシュペー
ジ情報処理23のブロックに制御が渡ると、まず最初
に、使用物理ページ処理済数を0に初期設定する(ステ
ップ1060)。
[2 of optimization program and optimization data 2]
Description of Block of Next Cache Page Information Processing 23] When control is passed to the block of the secondary cache page information processing 23 of the optimization program and the optimization data 2, first, the used physical page processed number is initialized to 0. (Step 1060).

【0056】次に、 (1)「使用物理処理済数」番目の使用物理ページの情
報について、以下(2)〜(8)の処理を行う。(ステ
ップ1061)なお、以下(2)〜(8)の処理は、
「使用物理処理済数」番目の使用物理ページの情報の処
理に限定されるので、[「使用物理処理済数」番目の]
という記述をすべて省略する。
Next, the following processes (2) to (8) are performed on the information of the (1) “used physical processed number” -th used physical page. (Step 1061) The following processes (2) to (8) are performed
Since it is limited to the processing of the information of the “used physical processed number” number used physical page, [“the used physical processed number” number]
Is omitted.

【0057】(2)物理ページアドレスと(2次キャッ
シュの大きさ−1)との論理積をとり、その結果を40
96で割ることにより、その使用物理ページの2次キャ
ッシュ相対ページ番号を求め、変数「2次キャッシュ相
対ページ番号」に設定する(ステップ1062)。
(2) The logical product of the physical page address and (the size of the secondary cache -1) is calculated, and the result is calculated as 40
By dividing by 96, the secondary cache relative page number of the used physical page is obtained and set to the variable “secondary cache relative page number” (step 1062).

【0058】(3)上記(2)で求めた「2次キャッシ
ュ相対ページ番号」番目の2次キャッシュページ情報
に、以下(4)〜(8)の処理を行う(ステップ106
3)。
(3) The following processes (4) to (8) are performed on the secondary cache page information of the “secondary cache relative page number” obtained in (2) above (step 106).
3).

【0059】なお、以下(4)〜(8)においては、
「2次キャッシュ相対ページ番号」番目の2次キャッシ
ュページ情報の処理に限定されるので、[「2次キャッ
シュ相対ページ番号」番目の]という記述をすべて省略
する。
In the following (4) to (8),
Since the processing is limited to the processing of the “secondary cache relative page number” -th secondary cache page information, all the description of “[secondary cache relative page number] th” is omitted.

【0060】(4)2次キャッシュページ情報の使用ペ
ージの添字一覧に、使用物理ページの添字(使用物理処
理済数に等しい)を追加(添字一覧の「重複数番目」に
使用ページの添字を設定)し、ページ重複数に1を加算
することにより、使用物理ページが、2次キャッシュペ
ージ情報を使用していることを、2次キャッシュページ
情報内に登録する(ステップ1064)。
(4) The subscript of the used physical page (equal to the number of used physical processes) is added to the subscript list of the used page of the secondary cache page information (the subscript of the used page is added to the “duplicate number” in the subscript list). Then, by adding 1 to the page duplication number, the fact that the used physical page uses the secondary cache page information is registered in the secondary cache page information (step 1064).

【0061】(5)「使用物理ページの情報の行使用有
無情報が使用有(0でない)である行」のすべての行に
ついて、それぞれ、その行番号に対応する「2次キャッ
シュページ情報の行毎の使用回数」に1を加算して設定
し、加算結果が1の場合は更に2次キャッシュページ情
報の使用行数に1を加算することにより、使用物理ペー
ジの行の使用状況を、2次キャッシュページ情報に登録
する(ステップ1065)。
(5) For all the rows of “the row in which the row usage information of the used physical page information is used (not 0)”, the “secondary cache page information row” corresponding to the row number is used. 1 is added to the “number of times of use”, and if the addition result is 1, 1 is further added to the number of used lines of the secondary cache page information to reduce the usage status of the used physical page line by 2 The next cache page information is registered (step 1065).

【0062】(6)使用物理ページ処理済数に1を加算
することにより、その使用物理ページの処理を終わる
(ステップ1066)。
(6) By adding 1 to the used physical page processed number, the processing of the used physical page ends (step 1066).

【0063】(7)使用物理ページ処理数が使用物理ペ
ージ情報数に等しいかどうかを調べる(ステップ106
7)。
(7) It is checked whether or not the number of used physical page processes is equal to the number of used physical page information (step 106).
7).

【0064】(8)等しくなければ、次の使用物理ペー
ジの処理を行うためにステップ1061へ戻る[上記
(1)へ戻る]。等しければ、すべての使用物理ページ
の情報のペ―ジと行の参照状況を2次キャッシュページ
情報に反映したので、次に2次キャッシュページ情報の
競合ページの処理を行うためにステップ1070[下記
(9)]へ行く(ステップ1068)。
(8) If they are not equal, the process returns to step 1061 to process the next physical page used (return to (1) above). If they are the same, the page and line reference status of the information of all used physical pages is reflected in the secondary cache page information. Next, in order to process the conflicting page of the secondary cache page information, step 1070 [described below] is performed. (9)] (step 1068).

【0065】(9)競合ページの処理は、まず最初に、
変数「処理済2次キャッシュページ数」と「全競合数」
を0に初期設定する(ステップ1070)。
(9) First, the processing of the competing page is as follows.
Variables “Number of processed secondary cache pages” and “Number of all conflicts”
Is initialized to 0 (step 1070).

【0066】次に、(10)「処理済2次キャッシュペ
ージ数」番目の2次キャッシュページ情報について、以
下(11)〜(14)の処理を行う。(ステップ107
1) なお、以下(11)〜(14)においては、「処
理済2次キャッシュページ数」番目の2次キャッシュペ
ージ情報の処理に限定されるので、[「処理済2次キャ
ッシュページ数」番目の]という記述をすべて省略す
る。
Next, the following processes (11) to (14) are performed on the (10) “number of processed secondary cache pages” -th secondary cache page information. (Step 107
1) Note that in the following (11) to (14), the processing is limited to the processing of the “number of processed secondary cache pages” -th secondary cache page information. Is omitted.

【0067】(11)2次キャッシュページ情報の行毎
の使用回数が2以上である行は、競合ミスが発生するの
で、競合ミスが発生しているそれぞれの行について以下
(12)の処理を行う。(ステップ1072)なお、以
下(12)においては、競合ミスが発生しているある行
の処理に限定されるので、[競合ミスが発生している行
の]という記述をすべて省略する。
(11) A line in which the number of uses of the secondary cache page information per line is 2 or more causes a conflict error. Therefore, the following process (12) is performed for each line in which the conflict error occurs. Do. (Step 1072) In the following (12), since the processing is limited to the processing of a certain row in which a conflict error has occurred, the description of [the row in which the conflict error has occurred] is omitted.

【0068】(12)使用ページ添字一覧より、(競合
ミスを発生させる可能性がある)使用ページの情報を順
次得て、それぞれの使用ページについて、上記の行が使
用されているかを該使用ページの行使用有無情報よりチ
ェックし、使用されていれば、2次キャッシュページ情
報の競合ページの添字一覧に該使用ページが既にあるか
どうかをチェックし、無ければ競合ページの添字一覧に
追加し、ページ競合数と変数「全競合数」に1を加算す
る(ステップ1073)。
(12) Information on the used pages (which may cause a conflict error) is sequentially obtained from the used page subscript list, and for each used page, it is determined whether the above line is used or not. , Check if the used page already exists in the subscript list of the competing page in the secondary cache page information, and if not, add it to the subscript list of the competing page. One is added to the number of page conflicts and the variable “total number of conflicts” (step 1073).

【0069】(13)処理済2次キャッシュページ数に
1を加算する(ステップ1074)。
(13) One is added to the number of processed secondary cache pages (step 1074).

【0070】(14)2次キャッシュの大きさを409
6で割った数が、処理済2次キャッシュページ数に等し
いかどうかをチェックすることにより、全2次キャッシ
ュページ情報を処理したかどうかを調べ、等しくない
(全部処理していない)なら次の2次キャッシュページ
情報を処理するためにステップ1071[上記(1
0)]に戻り、等しい(全部処理した)なら、当ブロッ
クの処理を終わり、最適化処理に制御を渡すためにステ
ップ1080へ行く(ステップ1075)。
(14) The size of the secondary cache is set to 409
By checking whether or not the number divided by 6 is equal to the number of processed secondary cache pages, it is checked whether or not all the secondary cache page information has been processed. Step 1071 [the above (1)
0)], and if they are equal (all have been processed), the processing of this block is terminated, and the flow proceeds to step 1080 to pass control to the optimization processing (step 1075).

【0071】〔最適化プログラムと最適化データ2の最
適化処理24のブロックの説明〕最適化プログラムと最
適化データ2の最適化処理24のブロックに制御が渡る
と、まず最初に、 (1)全競合数が0より大であるかどうかをチェック
し、大であれば最適化が必要であるので、ステップ10
81へ行き、0であれば最適化は不要であるので、ステ
ップ1130へ行く(ステップ1080)。最適化が必
要な場合は、まず、変数「処理済2次キャッシュページ
数」を0に初期設定し(ステップ1081)、ステップ
1082へ行く。
[Explanation of optimization program and optimization data 2 optimization processing 24 block] When control is transferred to the optimization program and optimization data 2 optimization processing 24 block, first, (1) It is checked whether the total number of conflicts is larger than 0, and if it is larger, optimization is necessary.
Go to 81, and if 0, optimization is unnecessary, so go to Step 1130 (Step 1080). If optimization is necessary, first, the variable “number of processed secondary cache pages” is initialized to 0 (step 1081), and the process proceeds to step 1082.

【0072】(2)「処理済2次キャッシュページ数」
番目の2次キャッシュページ情報のページ競合数が0よ
り大かどうかをチェックし(ステップ1082)、大で
あれば、その2次キャッシュページについて、まず、最
適化を行うために、ステップ1085[下記(4)]へ
行き、0より大でなければ、その2次キャッシュページ
については最適化が不要なのでステップ1084「下記
(3)」へ行く(ステップ1083)。
(2) “Number of processed secondary cache pages”
It is checked whether or not the page contention number of the second secondary cache page information is greater than 0 (step 1082). If it is large, the secondary cache page is first subjected to optimization at step 1085 [optimization]. (4)], and if it is not larger than 0, the optimization is not necessary for the secondary cache page, so the flow proceeds to Step 1084 “(3) below” (Step 1083).

【0073】(3)その2次キャッシュについて最適化
が不要な場合は、次の2次キャッシュページを処理する
ために、処理済2次キャッシュページ数に1を加算し
て、ステップ1082「上記(2)」に戻る(ステップ
1084)。
(3) If optimization is not required for the secondary cache, 1 is added to the number of processed secondary cache pages in order to process the next secondary cache page, and step 1082 “ 2) "(Step 1084).

【0074】(4)その2次キャッシュについて最適化
が必要な場合は、その2次キャッシュページ情報につい
て最適化が成功すれば、少なくとも、全競合数より、そ
の2次キャッシュページ情報のペ−ジ競合数分だけ、ペ
ージ競合数が減るはずであるから、全競合数から、その
(「処理済2次キャッシュページ数」番目の)2次キャ
ッシュページ情報のぺ−ジ競合数を減算したものを最適
化の目標競合数とする(ステップ1085)。
(4) When the secondary cache needs to be optimized, if the secondary cache page information is successfully optimized, at least the page of the secondary cache page information is calculated from the total number of conflicts. Since the number of page conflicts should decrease by the number of conflicts, a value obtained by subtracting the number of page conflicts of the secondary cache page information (the “number of processed secondary cache pages”) from the total number of conflicts is obtained. The target number of competitions for optimization is set (step 1085).

【0075】(5)最適化が失敗した場合、各情報を元
に戻して、再度別の最適化を行う必要があるため、最適
化の前に、まず、各使用物理ページの情報と2次キャッ
シュページ情報と各群の情報のすべてを、内部情報エリ
アにコピーする(ステップ1086)。
(5) If the optimization fails, it is necessary to restore each information and perform another optimization again. Therefore, before the optimization, first, the information of each used physical page and the secondary The cache page information and all the information in each group are copied to the internal information area (step 1086).

【0076】(6)以降の最適化処理であるステップ1
087(7)〜ステップ1127(30)では、上記で
コピーした各使用物理ページの情報と2次キャッシュペ
ージ情報と各群の情報に対して処理を行う(「コピーし
たエリアの」という記述は省略する。)(ステップ10
87)。
(6) Step 1 which is the subsequent optimization processing
In steps 087 (7) to 1127 (30), processing is performed on the information of each used physical page copied above, the secondary cache page information, and the information of each group (the description of “copied area” is omitted). (Step 10)
87).

【0077】(7)競合ページがN個ある場合、N−1
の競合ページを最適化(移動)すれば競合は解消するは
ずであるので、どの競合ページを移動しない(最適化対
象外とする)かを決めるために、「処理済2次キャッシ
ュページ数」番目の2次キャッシュページ情報のぺ一ジ
競合数の分だけ、該情報の競合ページの添字一覧より添
字を得て、それぞれの群情報の群クラスを得て、それら
が図7の「競合群のパターン」のどれに一致するかを調
査する(ステップ1088)。
(7) When there are N competing pages, N-1
If the conflicting page is optimized (moved), the conflict should be resolved. Therefore, in order to determine which conflicting page is not moved (exempt from optimization), the "number of processed secondary cache pages" The subscripts are obtained from the subscript list of the competing pages of the information by the number of page conflicts of the secondary cache page information of the second cache page information, and the group class of each group information is obtained. It is checked which one of the "patterns" matches (step 1088).

【0078】(8)パターンがNo1(先頭使用群また
は前半使用群だけ)の場合は、図7より、群番号が最小
の競合ページを最適化対象から外し、残りの競合ページ
の群の直前に、それぞれ、ダミーページを挿入する必要
があるので、ステップ1091[(10)]へ行く(ス
テップ1089)。
(8) If the pattern is No. 1 (only the first use group or the first half use group), the contending page with the smallest group number is excluded from the optimization target from FIG. 7, and immediately before the remaining contending page group Go to step 1091 [(10)] because it is necessary to insert a dummy page (step 1089).

【0079】(9)パターンがN02(後半使用群だ
け)の場合は、図7より、群番号が最大の競合ページを
最適化対象から外し、残りの競合ページの群の直後に、
それぞれ、ダミーページを埋め込む必要があるので、ス
テップ1095[(11)]へ行き、上記以外の場合
は、群番号が最小のペ−ジを最適化対象より外し、残り
の各競合ページの内、前半使用群はその直前、後半使用
群はその直後に、それぞれダミーページを挿入する必要
があるので、ステップ1091[(10)]へ行く(ス
テップ1090)。
(9) When the pattern is N02 (only the second half group), the conflicting page with the largest group number is excluded from the optimization target from FIG. 7, and immediately after the remaining conflicting page group,
Since it is necessary to embed a dummy page for each, go to step 1095 [(11)]. In other cases, the page with the smallest group number is excluded from the optimization target, and among the remaining competing pages, Since it is necessary to insert a dummy page immediately before the first half use group and immediately after the second half use group, the process goes to step 1091 [(10)] (step 1090).

【0080】(10)上記(7)[ステップ1088]
で得た添字の競合ページの内、群番号が最小の競合ペー
ジのみを除き、残りの競合ページを最適化対象の競合ペ
ージと定義してステップ1096(12)へ行く(ステ
ップ1091)。
(10) The above (7) [Step 1088]
Among the competing pages with the subscripts obtained in step 2, only the competing page having the smallest group number is removed, and the remaining competing pages are defined as competing pages to be optimized, and the process proceeds to step 1096 (12) (step 1091).

【0081】(11)上記(7)[ステップ1088]
で得た添字の競合ページの内、群番号が最大の競合ペー
ジのみを除き、残りの競合ページを最適化対象の競合ペ
ージと定義してステップ1096(12)へ行く(ステ
ップ1095)。
(11) The above (7) [Step 1088]
Of the conflicting pages with the subscripts obtained in step 2, only the conflicting page having the largest group number is removed, and the remaining conflicting pages are defined as the conflicting pages to be optimized, and the process proceeds to step 1096 (12) (step 1095).

【0082】(12)最適化対象の競合ページの数を調
べて、変数「最適化競合ページ数」に設定(ステップ1
096)。
(12) The number of competing pages to be optimized is checked and set to the variable “optimizing competing page number” (step 1).
096).

【0083】(13)内部情報である配列「挿入ページ
数[0]〜挿入ページ数[最適化競合ページ数−1]」
を、最初の最適化用の挿入ページ数として、それぞれ1
に初期設定し、最適化を開始するために、ステップ11
00(14)へ行く(ステップ1097)。
(13) Array of internal information “number of inserted pages [0] to number of inserted pages [optimized contention page number−1]”
As the number of inserted pages for the first optimization
Step 11 to initialize and start optimization
Go to 00 (14) (step 1097).

【0084】(14)最適化を最適化競合ページ数分、
繰り返して行うために、まず、変数「対象番目」を0に
初期設定する(ステップ1100)。
(14) Optimization is performed by the number of optimization conflicting pages,
First, the variable “target number” is initialized to 0 (step 1100).

【0085】(15)処理対象番目の最適化対象の競合
ページの群の群クラスを調べ(ステップ1101)、該
群が前半使用群であればステップ1103(16)へ行
き、そうでなければステップ1105(18)へ行く
(ステップ1102)。
(15) The group class of the group of conflicting pages to be optimized for the processing target is checked (step 1101). If the group is the first-half use group, the process goes to step 1103 (16); Go to 1105 (18) (step 1102).

【0086】(16)前半使用群である場合は、該群の
情報の直前挿入ページ数に挿入ページ数[処理対象番
目]を加算する(ステップ1103)(ここで、「設
定」ではなく「加算」を行うのは、過去の最適化成功の
結果を引き継ぐためである。最適化が過去に一度も成功
していなければ、該群の情報の直前挿入ページ数は初期
状態で0であるが、成功していれば、0以外の値となっ
ている場合があるので、その値を引き継ぐ必要があ
る。)。
(16) If the group is the first-half use group, add the number of pages to be inserted [processing target number] to the number of pages to be inserted immediately before the information of the group (step 1103) (here, “add” instead of “setting”). Is performed in order to take over the result of the past optimization success. If the optimization has never been successful in the past, the number of pages immediately before the information of the group is 0 in the initial state, If it succeeds, it may be a value other than 0, so it is necessary to inherit that value.)

【0087】(17)該群以降であって犠牲未使用群以
前の、すべての群のそれぞれについて、群の情報の現先
頭アドレスに、挿入ページ数[処理対象番目]×409
6を加算して、ステップ1107(20)へ行く(ステ
ップ1104)(ここでも、設定ではなくて、加算を行
うのは、別の群の最適化等により、既に、現先頭アドレ
スに値が加算されている場合があるので、その結果を引
き継ぐためである。以下、説明省略)。
(17) For each of the groups after the group and before the sacrifice unused group, the number of pages to be inserted [processing target number] × 409 is added to the current head address of the group information.
6 and then go to step 1107 (20) (step 1104) (again, the setting is not performed here, but the addition is performed because the value has already been added to the current start address due to optimization of another group, etc.). In some cases, the result is taken over, and the result is omitted.

【0088】(18)前半使用群でない場合は、該群の
情報の直後挿入ページ数に挿入ページ数[処理対象番
目]を加算する(ステップ1105)。
(18) If the group is not the first-half use group, the number of pages to be inserted [the number to be processed] is added to the number of pages to be inserted immediately after the information of the group (step 1105).

【0089】(19)該群以前であって犠牲未使用群よ
り後のすべての群のそれぞれについて群の情報の現先頭
アドレスより、犠牲未使用群については現最終アドレス
より、それぞれ、挿入ページ数[処理対象番目]×40
96を減算して、ステップ1107(20)へ行く(ス
テップ1106)。
(19) The number of inserted pages from the current start address of the group information for all groups before the group and after the sacrificial unused group, and from the current end address for the sacrificial unused group, respectively. [Process target] x 40
96 is subtracted, and the procedure goes to step 1107 (20) (step 1106).

【0090】(20)次の競合ページの群の処理を行う
ために、処理対象番目に1を加算し(ステップ110
7)、結果が最適化対象の競合ページ数に等しいかを調
査する(ステップ1108)。
(20) In order to process the next group of competing pages, 1 is added to the processing target (step 110).
7) It is checked whether the result is equal to the number of competing pages to be optimized (step 1108).

【0091】(21)等しければ、処理対象のすべての
競合ページの群の処理を完了したので、それらに従って
使用物理ページの情報を更新するために、ステップ11
10へ行き、等しくなければ、未だ処理していない処理
対象の競合ページがあるのでステップ1101(15)
に戻って処理を繰り返す(ステップ1109)。
(21) If they are equal, the processing of all the groups of competing pages to be processed has been completed.
Go to 10, if not equal, there is a conflict page to be processed that has not yet been processed, so step 1101 (15)
And the process is repeated (step 1109).

【0092】(22)処理対象のすべての競合ページの
群の処理を完了したら、各使用物理ページの情報のすべ
てに対して、それぞれ、その群番号の群の情報の現先頭
アドレスと旧先頭アドレスの差分を求め、差分が0でな
いなら最適化されている(アドレスが移動されている)
ので、使用物理ページの情報のペ一ジ属性に、最適化で
物理アドレスが変更されたことを示す1を設定し、新物
理ページアドレスに(旧物理アドレス+差分)を設定す
る(ステップ1110)。
(22) When the processing of all the contended page groups to be processed is completed, the current head address and the old head address of the information of the group of the group number are respectively applied to all the information of each used physical page. Is obtained, and if the difference is not 0, it is optimized (the address has been moved)
Therefore, 1 indicating that the physical address has been changed by the optimization is set to the page attribute of the information of the used physical page, and (old physical address + difference) is set to the new physical page address (step 1110). .

【0093】(23)次に、2次キャッシュページ情報
をすべて0クリアーし(ステップ1111)、各使用物
理ページの情報のすべてに対して、それぞれ、ページ属
性=1なら新物理アドレス、ページ属性=0なら旧物理
アドレスを使用して、ステップ1060〜ステップ10
75と同様の処理を行い、各2次キャッシュページ情報
を作り直すことにより、新しい全競合数を求め、その全
競合数を「新全競合数」とする(ステップ1112)。
(23) Next, the secondary cache page information is all cleared to 0 (step 1111). For all the information of each used physical page, if the page attribute = 1, the new physical address and the page attribute = If 0, the old physical address is used, and steps 1060 to 10
By performing the same processing as in step 75 and recreating each piece of secondary cache page information, a new total number of conflicts is obtained, and the total number of conflicts is set to "new total number of conflicts" (step 1112).

【0094】(24)新全競合数が目標競合数以下であ
るかどうかをチェックし、以下でなければ、その最適化
は失敗であるので、条件をかえて最適化をやり直すため
に、ステップ1116(25)に行き、以下であれば、
その最適化は成功であるので、次の2次キャッシュペー
ジの競合を最適化するために、ステップ1114(3
1)に行く(ステップ1113)。
(24) It is checked whether or not the new total number of competitions is equal to or less than the target number of competitions. If not, the optimization has failed. Go to (25) and if
Since the optimization is successful, in order to optimize contention for the next secondary cache page, step 1114 (3
Go to 1) (step 1113).

【0095】(25)その最適化が失敗であれば、別の
条件で最適化をやり直すために、ステップ1086でコ
ピーしたコピー元の各使用物理ページと2次キャッシュ
ページ情報と各群の情報のすべてを、再度、内部エリア
にコピーすることにより、上記で失敗した最適化の前の
状態に戻す(ステップ1116)。
(25) If the optimization fails, in order to redo the optimization under another condition, the used physical pages of the copy source copied in step 1086, the secondary cache page information, and the information of each group are read. All are again copied to the internal area to return to the state prior to the failed optimization described above (step 1116).

【0096】(26)条件をかえるために、まず、変数
「繰り返し数」に、最適化競合ページ数−1を初期設定
する(ステップ1120)。
(26) In order to change the condition, first, the number of optimized conflicting pages −1 is initially set in a variable “number of repetitions” (step 1120).

【0097】(27)次に、挿入ページ数[繰り返し
数]に1を加算し(ステップ1121)、その挿入ペー
ジ数が(2次キャッシュの大きさ÷4096)以上であ
るかどうかを調べる(ステップ1122)。
(27) Next, 1 is added to the number of inserted pages [the number of repetitions] (step 1121), and it is checked whether the number of inserted pages is equal to or larger than (the size of the secondary cache 次 4096) (step 1121). 1122).

【0098】(28)以上でなければ、その条件で、最
適化を開始するためにステップ1100[上記(1
4)]に戻ることにより、次の最適化を開始し、以上で
あるなら、その挿入ページ数を増やしても意味がないの
で、別の挿入ページを増やすためにステップ1124
(29)へ行く(ステップ1123)。
(28) If not, step 1100 [the above (1)
4)], the next optimization is started, and if it is more than that, there is no point in increasing the number of inserted pages, so step 1124 is performed to increase another inserted page.
Go to (29) (step 1123).

【0099】(29)別の挿入ページを増やすために、
まず繰り返し数が0であるかどうかをチェックし、0で
あれば、すべての挿入ページはもはや増やすことが出来
ないので、最適化を中止するために、ステップ1125
(31)へ行き、0でなければ、別の挿入ページ数を増
やすことが可能であるので、ステップ1126(30)
へ行く(ステップ1124)。
(29) In order to increase another insertion page,
First, it is checked whether the number of repetitions is 0, and if it is 0, all inserted pages can no longer be increased, so that the step 1125 is performed to stop the optimization.
Go to (31) and if it is not 0, it is possible to increase the number of other inserted pages, so step 1126 (30)
Go to (Step 1124).

【0100】(30)別の挿入ページ数を増やすことが
可能であれば、現在の挿入ページ数である挿入ページ数
[繰り返し数]を初期状態の1に設定し(ステップ11
26)、繰り返し数より1を減算してステップ1121
[上記(27)]に戻ることにより、別の挿入ページ数
の増加の処理を行う(ステップ1127)。
(30) If the number of inserted pages can be increased, the number of inserted pages [the number of repetitions], which is the current number of inserted pages, is set to 1 in the initial state (step 11).
26), subtracting 1 from the number of repetitions, and step 1121
By returning to [(27)], another process of increasing the number of inserted pages is performed (step 1127).

【0101】(31)すべての挿入ページを増やすこと
が出来ない場合は、最適化中止のメッセージを出力情報
3へ出力し、その後、最適化中止時までの最適化結果を
出力するためにステップ1131へ行く(ステップ11
25)。
(31) If it is not possible to increase all the inserted pages, an optimization stop message is output to the output information 3, and then the optimization result up to the stop of the optimization is output in step 1131. Go to (Step 11
25).

【0102】(32)上記(24)(ステップ111
3)で最適化成功を検出した場合は、新全競合数を全競
合数に設定し(ステップ1114)、ステップ1086
でコピーした時のコピー先の各使用物理ページと2次キ
ャッシュページ情報と各群の情報のすべてを、次の最適
化で使用するために、コピー元の情報に書き戻し、その
後ステップ1080へ戻る(ステップ1115)。
(32) The above (24) (step 111)
If the optimization success is detected in 3), the new total number of competitions is set to the total number of competitions (step 1114), and step 1086 is performed.
All of the used physical pages, secondary cache page information, and information of each group of the copy destination at the time of copying are written back to the copy source information for use in the next optimization, and thereafter, the process returns to step 1080. (Step 1115).

【0103】(33)ステップ1080では、全競合数
が0より大であれば、更に、最適化が必要であるので、
ステップ1082[上記(2)]以降を繰り返し実行す
ることにより次の最適化を行うが、全競合数が0であれ
ばすべての最適化が成功したので、最適化結果を出力す
るために、ステップ1130(34)へ行く(ステップ
1080)。
(33) In step 1080, if the total number of conflicts is larger than 0, further optimization is required.
The next optimization is performed by repeatedly executing step 1082 [(2)] and subsequent steps. If the total number of conflicts is 0, all optimization has succeeded. Go to 1130 (34) (step 1080).

【0104】(34)すべての最適化が成功した場合
は、最適化完了のメッセージを出力情報3へ出力したあ
と、ステップ1131(35)へ行く(ステップ113
0)。
(34) If all the optimizations have succeeded, a message indicating that the optimization has been completed is output to the output information 3 and then the procedure goes to step 1131 (35) (step 113).
0).

【0105】(35)最後に、各群の情報を、すべて解
析結果として出力情報3に出力し、当最適化プログラム
2を停止する(ステップ1131)。
(35) Finally, all information of each group is output to the output information 3 as an analysis result, and the optimization program 2 is stopped (step 1131).

【0106】[0106]

【発明の効果】上記のように、本発明によれば、従来は
無視されていた固定エリアの競合ミスの最適化が可能と
なる効果がある。
As described above, according to the present invention, there is an effect that optimization of contention error in a fixed area, which has been neglected in the past, can be optimized.

【0107】また、アクセス状態データ11とシステム
構成データ12を入力情報として、各使用物理ページの
情報25と各群の情報26と2次キャッシュページ情報
27を作成して、最適化を行うことにより、2次キャッ
シュにおける固定エリアの競合ミス数を最低にすること
が可能となる。
Further, by using the access status data 11 and the system configuration data 12 as input information, information 25 of each used physical page, information 26 of each group, and secondary cache page information 27 are created and optimized. And the number of contention errors in the fixed area in the secondary cache can be minimized.

【0108】固定エリアにおいては、物理アドレスと論
理アドレスの関係は固定であるので上記で得られた出力
情報3で示される各挿入位置に、各挿入ページ数分のダ
ミーページをいれた論理アドレスをシステム生成時に指
定すれば、上記最適化により最小にした2次キャッシュ
における競合ミス数を、実システム上でも実現できるの
で、大きな性能向上が得られる効果がある。
In the fixed area, the relationship between the physical address and the logical address is fixed. Therefore, the logical address in which the dummy pages corresponding to the number of inserted pages are inserted at each insertion position indicated by the output information 3 obtained above. If specified at the time of system generation, the number of contention misses in the secondary cache, which has been minimized by the above-mentioned optimization, can be realized on an actual system.

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

【図1】本発明の一実施例の「2次キャッシュの固定エ
リアのキャッシュ競合ミスの最適化方法」の入出力概要
とブロックを示す図である。
FIG. 1 is a diagram showing input / output outlines and blocks of a “method for optimizing a cache conflict miss in a fixed area of a secondary cache” according to an embodiment of the present invention.

【図2】本発明の一実施例のアクセス状態データの構成
図である。
FIG. 2 is a configuration diagram of access state data according to an embodiment of the present invention.

【図3】本発明の一実施例のシステム構成データの構成
図である。
FIG. 3 is a configuration diagram of system configuration data according to an embodiment of the present invention.

【図4】本発明の一実施例の各使用物理ページの情報の
構成図である。
FIG. 4 is a configuration diagram of information of each used physical page according to an embodiment of the present invention.

【図5】本発明の一実施例の各群の情報の構成図であ
る。
FIG. 5 is a configuration diagram of information of each group according to an embodiment of the present invention.

【図6】本発明の一実施例の2次キャッシュページ情報
の構成図である。
FIG. 6 is a configuration diagram of secondary cache page information according to an embodiment of the present invention.

【図7】本発明の一実施例の競合群のパターンと最適化
方法の関係図である。
FIG. 7 is a diagram illustrating a relationship between a pattern of a competition group and an optimization method according to an embodiment of the present invention.

【図8】本発明の一実施例の最適化プログラムと最適化
データ2の各使用物理ページ情報処理21のフローチャ
ートである。
FIG. 8 is a flowchart of each used physical page information processing 21 of the optimization program and the optimization data 2 according to the embodiment of the present invention.

【図9】本発明の一実施例の最適化プログラムと最適化
データ2の各群の情報処理22のフローチャート(その
1)である。
FIG. 9 is a flowchart (part 1) of information processing 22 of each group of the optimization program and the optimization data 2 according to an embodiment of the present invention.

【図10】本発明の一実施例の最適化プログラムと最適
化データ2の各群の情報処理22のフローチャート(そ
の2)である。
FIG. 10 is a flowchart (part 2) of the information processing 22 of each group of the optimization program and the optimization data 2 according to an embodiment of the present invention.

【図11】本発明の一実施例の最適化プログラムと最適
化データ2の2次キャッシュページ情報処理23のフロ
ーチャート(その1)である。
FIG. 11 is a flowchart (part 1) of the secondary cache page information processing 23 of the optimization program and the optimization data 2 according to the embodiment of the present invention.

【図12】本発明の一実施例の最適化プログラムと最適
化データ2の2次キャッシュページ情報処理23のフロ
ーチャート(その2)である。
FIG. 12 is a flowchart (part 2) of the secondary cache page information processing 23 of the optimization program and the optimization data 2 according to the embodiment of the present invention.

【図13】本発明の一実施例の最適化プログラムと最適
化データ2の最適化処理24のフローチャート(その
1)である。
FIG. 13 is a flowchart (part 1) of an optimization program 24 and an optimization process 24 of the optimization data 2 according to the embodiment of the present invention.

【図14】本発明の一実施例の最適化プログラムと最適
化データ2の最適化処理24のフローチャート(その
2)である。
FIG. 14 is a flowchart (part 2) of the optimization program 24 and the optimization processing 24 of the optimization data 2 according to the embodiment of the present invention.

【図15】本発明の一実施例の最適化プログラムと最適
化データ2の最適化処理24のフローチャート(その
3)である。
FIG. 15 is a flowchart (part 3) of the optimization processing 24 of the optimization program and the optimization data 2 according to the embodiment of the present invention.

【図16】本発明の一実施例の最適化プログラムと最適
化データ2の最適化処理24のフローチャート(その
4)である。
FIG. 16 is a flowchart (part 4) of the optimization processing 24 of the optimization program and the optimization data 2 according to the embodiment of the present invention.

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

1 入力情報 2 最適化プログラムと最適化データ 3 出力情報 11 アクセス状態データ 12 システム構成データ 13 ファイル名情報 21 各使用物理ページ情報処理のブロック 22 各群の情報処理のブロック 23 2次キャッシュページ情報処理のブロック 24 最適化処理のブロック 25 各使用物理ページの情報のブロック 26 各群の情報のブロック 27 2次キャッシュページ情報のブロック REFERENCE SIGNS LIST 1 input information 2 optimization program and optimization data 3 output information 11 access status data 12 system configuration data 13 file name information 21 each used physical page information processing block 22 each group information processing block 23 secondary cache page information processing Block 24 Block of optimization processing 25 Block of information of each used physical page 26 Block of information of each group 27 Block of secondary cache page information

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】情報処理装置内の中央演算ユニットが高速
なキャッシュメモリを有し、該キャッシュメモリが多数
の行の集合であり、その行番号の決定が物理アドレスの
一部の情報を使用して決定される物理アドレッシングキ
ャッシュメモリの場合に、該キャッシュメモリを使用で
きるアドレス空間が「論理アドレスと物理アドレスの関
係がハードウェア的に固定であるエリア」と定義される
固定エリアを含む場合の固定エリアのキャッシュメモリ
の競合ミスを最低にする最適化方法において、 前記固定エリアを物理アドレッシングキャッシュメモリ
の大きさの整数倍の群という単位に分割する手順と、 前記群の直前または直後に、必要に応じて、1ページの
ダミーエリアを挿入する手順と、 前記ダミーエリアが挿入された状態での全てのページの
行の使用状況を反映して、物理アドレッシングキャッシ
ュメモリの競合ミス数を算出する手順と、 前記算出された競合ミス数が、「各物理アドレッシング
キャッシュメモリページ毎の相異なるページ間のページ
競合数の合計である全競合数から、最適化処理をしてい
る物理アドレッシングキャッシュメモリ内の1ページに
関するページ競合数を減算した結果」である目標競合数
と比較して、前記目標競合数以下であれば、最適化処理
をしている物理アドレッシングキャッシュメモリ内の1
ページに関する前記群に対する最適解とする手順と、 前記算出された競合ミス数が、前記目標競合数より多け
れば、前記群の直前または直後に挿入するページ数を1
ページ増やして、前記算出と比較を繰り返す手順と、 前記挿入されたページ数が、最適化対象である群の全て
について「物理アドレッシングキャッシュメモリの全ペ
ージ数から1を減じた値である」一定値に達した場合、
最適化を中止する手順と、 最適化が中止されない場合は、上記を、物理アドレッシ
ングキャッシュメモリ内の競合ミスを有する全てのペー
ジに対して繰り返す手順とを有することを特徴とする固
定エリアのキャッシュ競合ミスの最適化方法。
A central processing unit in an information processing apparatus has a high-speed cache memory, and the cache memory is a set of a large number of rows, and the row number is determined using a part of information of a physical address. Is fixed when the address space in which the cache memory can be used includes a fixed area defined as "an area in which the relationship between a logical address and a physical address is fixed by hardware" In an optimization method for minimizing contention mistakes in an area cache memory, a step of dividing the fixed area into units each of which is an integral multiple of the size of a physical addressing cache memory; Accordingly, a procedure for inserting a dummy area of one page, and all pages in a state where the dummy area is inserted. Calculating the number of contention misses of the physical addressing cache memory by reflecting the usage status of the row of the page, and calculating the number of contention misses as "a page contention between different pages for each physical addressing cache memory page. The result of subtracting the number of page conflicts relating to one page in the physical addressing cache memory that is being optimized from the total number of conflicts, which is the sum of the numbers, is less than the target conflict number. If there is, there is one in the physical addressing cache memory that is performing the optimization process.
A procedure for obtaining an optimal solution for the group with respect to pages; and if the calculated number of conflict errors is larger than the target number of conflicts, the number of pages to be inserted immediately before or immediately after the group is 1
A procedure of increasing the number of pages and repeating the calculation and comparison, and the number of inserted pages is a value obtained by subtracting 1 from the total number of pages of the physical addressing cache memory for all the groups to be optimized. Reached,
A cache conflict in a fixed area, comprising: a step of stopping the optimization; and a step of repeating the above for all pages having a contention miss in the physical addressing cache memory if the optimization is not stopped. How to optimize for mistakes.
JP8284201A 1996-10-25 1996-10-25 Method for optimizing cache competition miss of fixed area Pending JPH10124392A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8284201A JPH10124392A (en) 1996-10-25 1996-10-25 Method for optimizing cache competition miss of fixed area

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8284201A JPH10124392A (en) 1996-10-25 1996-10-25 Method for optimizing cache competition miss of fixed area

Publications (1)

Publication Number Publication Date
JPH10124392A true JPH10124392A (en) 1998-05-15

Family

ID=17675476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8284201A Pending JPH10124392A (en) 1996-10-25 1996-10-25 Method for optimizing cache competition miss of fixed area

Country Status (1)

Country Link
JP (1) JPH10124392A (en)

Similar Documents

Publication Publication Date Title
US7844802B2 (en) Instructions for ordering execution in pipelined processes
US8356210B2 (en) Programming in a simultaneous multi-threaded processor environment including permitting apparently exclusive access to multiple threads and disabling processor features during thread testing
JP5116794B2 (en) Method for efficient emulation of multiprocessor memory integrity
JP3417984B2 (en) Compile method to reduce cache contention
US7260495B2 (en) System and method for test generation for system level verification using parallel algorithms
US5377339A (en) Computer for simultaneously executing instructions temporarily stored in a cache memory with a corresponding decision result
US7873763B2 (en) Multi-reader multi-writer circular buffer memory
JPH04225431A (en) Method for compiling computer instruction for increasing instruction-cache efficiency
JPH08328870A (en) Compiling processor
JPH06504865A (en) Integrated memory, its management method, and information system obtained from the method
CN100524217C (en) Embedded system guiding method and device
US6701461B2 (en) Method and apparatus for testing a cache
US6915248B1 (en) Method and apparatus for transforming test stimulus
US7237043B2 (en) System for improving PCI write performance
US20040003175A1 (en) Microprocessor cache design initialization
US7886205B2 (en) Verification of a data processing system using overlapping address ranges
JPH10124392A (en) Method for optimizing cache competition miss of fixed area
CN114297193A (en) HASH-based data comparison method and device
US20090100243A1 (en) High Performance, Lock-Free Virtual Storage Manager
Grevtsev et al. Multicore processor models verification in the early stages
JPH06505820A (en) How to create a program that is combined from multiple modules
JP4461934B2 (en) Cache memory test system, test method, test program
US20050251795A1 (en) Method, system, and program for optimizing code
US11625386B2 (en) Fast skip list purge
JPH10133949A (en) Method for optimizing cache conflict miss in floating area