WO2009101900A1 - 性能最適化システム、方法及びプログラム - Google Patents
性能最適化システム、方法及びプログラム Download PDFInfo
- Publication number
- WO2009101900A1 WO2009101900A1 PCT/JP2009/052041 JP2009052041W WO2009101900A1 WO 2009101900 A1 WO2009101900 A1 WO 2009101900A1 JP 2009052041 W JP2009052041 W JP 2009052041W WO 2009101900 A1 WO2009101900 A1 WO 2009101900A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- access
- bus
- required period
- period
- observation target
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
Definitions
- the present invention relates to a performance optimization system, method, and program, and more particularly to a performance optimization system and method that can collect and analyze duration information such as a penalty caused by a cache miss or the like.
- a cache memory used in a processor such as a micro processing unit (MPU) is composed of a set of memory of tag memory and data memory (called “cache line”), and data of the cache line is a part of address ( (See, for example, Patent Document 1). Therefore, when a memory access to a certain address occurs from the processor, the index of the address determines a specific cache line of the cache memory, and data is read from the corresponding tag memory and data memory. The read tag memory data is compared with the data of the upper bits in the address of the memory access.
- the memory access address and cache miss information can be acquired, it can be known in which part of the program a cache miss has occurred, and if the program in that part is optimized, the processor performance can be improved.
- Patent Document 1 discloses a cache observation device, a processor analysis method, and a cache memory which can acquire data effective for program optimization by adding a relatively small circuit. It is disclosed. The configuration is shown in FIG.
- the performance optimization system described in Patent Document 1 includes a cache miss determination unit e1, an entry area determination unit e2, and a cache miss frequency counting unit e10.
- the performance optimization system having such a configuration operates as follows. That is, the cache miss determination unit e1 determines whether or not a cache miss has occurred when an access to the cache memory e3 has occurred.
- the entry area determination means e2 determines which cache entry area of the cache memory e3 the cache miss access is to use, using a part of the index which is a part of the address specifying the cache line of the cache memory e3.
- the cache miss number counting means e10 counts the number of cache miss accesses for each cache entry area specified by the entry area determination means e2.
- the first problem is that although the number of cache misses is small, it can not be identified when the performance impact is large. The reason is that it is not possible to measure the size of the required period such as access delay and waiting time.
- the second problem is that correction can not be made around the cache memory, for example, when using a processor such as an MPU (central processing unit, data processing unit, etc.) comprising an MPU core and cache memory, etc. provided from outside the company.
- MPU central processing unit, data processing unit, etc.
- the reason is that you can not make a cache miss observation.
- the reason is that a cache miss access is determined when accessing a cache memory, and it is necessary to observe signals around the cache memory.
- the third problem is that it is not possible to grasp the influence on performance due to competition with other bus masters. The reason is that it is not possible to distinguish between latency due to bus arbitration and pure access delay.
- An object of the present invention is to solve the above problems and to provide a performance optimization system capable of identifying when the number of cache misses is small but the influence on the performance is large.
- a first performance optimization system comprises a required period counting means for counting a required period related to access to an observation target, and a memory area for each classification based on the access to the observation target.
- Required period table holding means for holding a required period table for storing the counted value of the required period consisting of a plurality of table entries for storing the counted value of the required period for each divided classification area.
- Table entry selection means for selecting which table entry of the plurality of table entries for each of the classification areas that constitute the required period table stores the count value of the required period based on the access of
- cache miss observing means for detecting the occurrence of a cache miss accompanying the access of the object That.
- a second performance optimization system comprises a required period counting means for counting a required period related to access to an observation target, and a memory area divided for each classification based on the access to the observation target, and the divided classification Required period table holding means for holding a required period table consisting of a plurality of table entries for storing count values of the required period for each region, and the classification region constituting the required period table based on the access of the observation target Table entry selecting means for selecting which table entry of a plurality of table entries for each time period stores the count value of the required period, and bus access observing means for detecting occurrence of bus access accompanying access to the observation target It is characterized by having.
- the first performance optimization method detects occurrence of cache miss access accompanying access to an observation target, starts counting of a required period related to the access, and for each classification based on access to the observation target
- a table entry is selected from a required period table consisting of a plurality of table entries for dividing the memory area and storing the counted value of the required period for each divided classification area, detecting the end of the cache miss access, and the access
- the selected table entry of the plurality of table entries constituting the required period table is finished by counting the required period related to the time interval from the occurrence to the end of the cache miss access. It is characterized by updating.
- a second performance optimization method detects occurrence of bus access accompanying access to observation target, starts counting of a required period related to the access, and stores memory for each classification based on access to the observation target
- the table entry is selected from a required period table consisting of a plurality of table entries storing the counted value of the required period for each divided classification region, the end of the bus access is detected, and the access is concerned Ending the counting of the required period, and updating the selected table entry among the plurality of table entries constituting the required period table with the counted value of the required time between the occurrence of the bus access and the end It is characterized by
- a first performance optimization program comprises, in a computer, processing of detecting occurrence of cache miss access accompanying access to observation target, processing of starting counting of a required period related to the access, and observation target Processing of selecting a table entry from a required period table consisting of a plurality of table entries for storing the count value of the required period for each divided classification area, dividing the memory area for each classification based on the access of A plurality of processing of detecting the end of access, processing of ending counting of the required period related to the access, and a plurality of the required period table by counting values of the required time from generation to end of the cache miss access And the process of updating the selected table entry within the table entry of Characterized in that to the row.
- a second performance optimization program comprises, in a computer, processing of detecting occurrence of bus access accompanying access to observation target, processing of starting counting of a required period related to the access, and processing of the observation target
- FIG. 1 is a block diagram showing the configuration of a performance optimization system disclosed in Patent Document 1;
- the performance optimization system includes required period counting means, table entry selecting means, required period table holding means, and cache miss observation means.
- the cache miss observing means detects the occurrence of a cache miss.
- the required period counting means counts a required period such as an access delay or waiting time due to a cache miss.
- the table entry selecting means selects cache miss access for each classification area based on the access such as the address value of the access to be observed, and corresponds to the selected classification area according to the count value of the required period by the required period counting means.
- the corresponding table entry of the required period table holding means is updated.
- a performance optimization system comprises required period counting means, table entry selecting means, required period table holding means, and bus access observing means.
- the bus access observing means detects bus access.
- the required period counting means counts a required period such as an access delay or waiting time due to a cache miss.
- the table entry selecting means classifies the cache miss access and other accesses by sorting for each classification area based on access such as access type, and the sorted area sorted according to the count value of the required period by the required period counting means The corresponding table entry of the required period table holding means corresponding to is updated.
- a performance optimization system comprises a required period counting unit, a table entry selecting unit, a required period table holding unit, a bus access observing unit, a bus arbitration observing unit, and a bus arbitration
- a period counting unit and a bus arbitration period table holding unit are provided. Each of these means operates as follows.
- the bus access observing means detects bus access.
- the required period counting means counts required periods such as access delay and waiting time.
- the bus arbitration observing means detects bus arbitration.
- the bus arbitration period counting means counts a required period such as a waiting time due to the bus arbitration.
- the table entry selecting means sorts the bus access into classification areas based on access such as the address value of the access to be observed, and the requirement period counting means corresponds to the sorted classification area according to the count value of the required period.
- the corresponding table entry of the period table holding unit is updated, and the corresponding table entry of the bus arbitration period table holding unit corresponding to the classified classification area is updated according to the count value of the required period by the bus arbitration period counting unit.
- Adopting such a configuration by observing both the required period of access delay and latency and the bus arbitration period occupied by the bus arbitration among the required period, the number of cache misses is small, but It is possible to provide a performance optimization system capable of identifying the case where the influence is large, and also grasping the influence on the performance due to the competition with other bus masters.
- the first effect is that it is possible to identify the case where the number of cache misses is small but the influence on performance is large.
- the reason is that the required period counting means and the required period table holding means can measure the influence of the required period such as the number of waiting cycles due to each cache miss, and can identify the case where the number of cache misses is small but the influence on performance is large. It is in.
- the second effect is that cache misses can be observed even when corrections can not be made, such as MPU cores and cache memories provided from outside the company.
- cache miss accesses flowing on an externally located bus such as an MPU core and a cache memory can be observed separately from other accesses by the bus access observing means and table entry selecting means.
- the third effect is that the influence with other bus masters can be grasped.
- the reason is that the bus arbitration observing means, the bus arbitration period counting means, and the bus arbitration period table holding means can distinguish the waiting time and other waiting times by the arbitration of the bus.
- the performance optimization system is an MPU (including a central processing unit or processor or data processing unit) 110 having an MPU core 111 and a cache memory 112. , And includes a required period counting unit 202, a table entry selecting unit 203, a required period table holding unit 301, and a cache miss observing unit 201.
- the cache miss observation unit 201 includes a cache miss access occurrence notification unit 211 and a cache miss access end notification unit 212. Each of these means operates roughly as follows.
- the required period counting means 202 counts required periods such as access delay and waiting time.
- the table entry selection unit 203 uses one of an address value of an access to be observed, an access type such as write / read distinction, a length of burst access, an access ID (identifier), or a plurality of combinations thereof. It selects which table entry of the required period table held by the required period table holding means 301 stores the counting result (count value) of the required period.
- the required period table holding means 301 holds a required period table consisting of a plurality of table entries storing the required period values for each area classified by the table entry selection means 203.
- the cache miss observing means 201 has a function of detecting that a cache miss has occurred, a function of notifying the occurrence of a cache miss access by means of an internal cache miss access occurrence notifying means 211, and a cache miss on a bus that occurs due to a cache miss. It has a function of detecting the end of access and a function of notifying the end of cache miss access by the internal cache miss access end notifying means 212.
- the cache miss observation unit 201 continues observation of access to the cache memory 112 in the MPU 100 (step S11: No).
- the cache miss observing unit 201 accesses the required period counting unit 202 and the table entry selecting unit 203 by the cache miss access occurrence notifying unit 211 therein. Report occurrences.
- the required period counting unit 202 starts counting of the required period upon receiving the access occurrence notification from the cache miss observation unit 201 (step S12).
- the table entry selection means 203 uses the address value of the notified access information to obtain the result of It is selected whether to update the value) (step S13).
- the cache miss observing means 201 continues monitoring the end of the cache miss access to the bus which occurs due to a cache miss (step S14: No).
- the cache miss observation unit 201 notifies the required period counting unit 202 of the access termination by the cache miss access end notification unit 212 therein.
- the required period counting unit 202 ends the counting of the required period (step S15).
- the required period counting unit 202 updates the table entry of the required period table holding unit 301 (step S16).
- the table entry to be updated is one selected by the table entry selection unit 203.
- the table entry selection in step S13 can be executed without being limited to the order of description, as long as it is a period from the access detection in step S11 to the required period table update in step S16.
- the required period counting means 202 and the required period table holding means 301 are configured to be able to measure the influence of the required period such as the number of waiting cycles due to each cache miss, so the number of cache misses is small. It is possible to identify when the impact on performance is large.
- the table entry selecting unit 203 and the required period table holding unit 301 can hold the value of the required period for each area classified based on the access such as the address range and the content of the access. As a result, it is possible to identify in which area an access having a large impact on performance occurs.
- the original memory area is divided and a table is divided for each divided area. Since the entries are configured and measured, there is also an advantage that, when accesses occur in a plurality of areas of the memory, it becomes easy to separate cases where the penalty caused by a cache miss or the like differs greatly depending on the areas.
- the performance optimization system is connected to the bus master 100 and the peripheral circuit 120 located outside the MPU core and cache memory etc. It has selection means 203, required period table holding means 301, and bus access observation means 204.
- the bus access observing means 204 includes a bus access occurrence notifying means 221 and a bus access end notifying means 222. Each of these means operates roughly as follows.
- the required period counting means 202 counts required periods such as access delay and waiting time.
- the table entry selection unit 203 uses the address value of the access to be observed, the type of access such as write / read distinction, the length of burst access, access ID, etc., or a plurality of combinations thereof, and the required period table Select which table entry of to store the counting result of the required period.
- the required period table holding means 301 holds a required period table consisting of a plurality of table entries storing the required period values for each area classified by the table entry selection means 203.
- the bus access observing means 204 has a function of detecting that an access to a bus has occurred, a function of notifying an access detected by the internal bus access occurrence notifying means 221, a function of detecting the end of bus access, and And the function of notifying the end of the bus access by the bus access end notifying means 222 of FIG.
- the bus access observing means 204 continues observing the occurrence of access to the bus (step S21: No). As a result, when the access is detected (step S21: Yes), the bus access observing means 204 notifies the required period counting means 202 and the table entry selecting means 203 of the access occurrence by the bus access occurrence notifying means 221 inside thereof.
- the required period counting unit 202 starts counting the required period upon receiving the access generation notification from the bus access observing unit 204 (step S22).
- the table entry selection means 203 similarly receives an access occurrence notification from the bus access observation means 204, the address value of the notified access information, the type of access such as write / read distinction, burst access length, etc. Using one of the access ID and the like or a plurality of combinations thereof, it is selected which table entry result of the required period table holding means 301 is to be updated (step S23).
- step S24: No the bus access observing means 204 continues monitoring the end of the bus access.
- step S24: Yes the bus access observing unit 204 notifies the required period counting unit 202 of the access termination by the bus access termination notifying unit 222 therein.
- the required period counting unit 202 ends the counting of the required period (step S25).
- the required period counting unit 202 updates the table entry of the required period table holding unit 301 (step S26).
- the table entry to be updated is one selected by the table entry selection unit 203.
- the table entry selection in step S23 can be executed without being limited to the order of description, as long as it is a period from the access detection in step S21 to the update of the required period table in step S26.
- cache miss access takes a characteristic form different from other accesses.
- accesses flowing through the bus which are located outside the MPU core, cache memory, etc., are observed by the bus access observing means 204, and cache miss access and other accesses are separated by the table entry selecting means 203.
- the bus access observing means 204 By taking the form of storing data, it is possible to observe a cache miss even when no correction can be made, such as an MPU comprising an MPU core and a cache memory provided from outside the company.
- bus access observing means 204 is provided instead of the cache miss observing means 201 and is configured to be able to measure a required period other than a cache miss, a DMA (Direct Memory Access) controller or It is possible to observe a required period of a bus master other than the MPU having a cache, such as other functional blocks.
- DMA Direct Memory Access
- bus masters other than MPUs that use a plurality of access types the influence on performance can be separately observed for each access type.
- the performance optimization system is connected to the bus master 100 and the peripheral circuit 120 located outside of the MPU core and the cache memory etc.
- a selection unit 203, a required period table holding unit 301, a bus access observation unit 204, a bus arbitration observation unit 205, a bus arbitration period counting unit 206, and a bus arbitration period table holding unit 303 are provided.
- the bus access observing means 204 includes bus access occurrence notifying means (not shown) and bus access end notifying means (not shown). Each of these means operates roughly as follows.
- the required period counting means 202 counts required periods such as access delay and waiting time.
- the table entry selection means 203 uses any one of the address value of the access to be observed, the access type such as write / read distinction, the length of burst access, access ID etc. Select whether to save the counting result of the required period in the table entry.
- the required period table holding means 301 holds a required period table consisting of a plurality of table entries storing the required period values for each area classified by the table entry selection means 203.
- the bus access observing means 204 detects the occurrence of the access to the bus, the function of notifying the access detected by the internal bus access occurrence notifying means (not shown), and the end of the bus access. A function and a function of notifying the end of bus access by means of internal bus access end notifying means (not shown) are provided.
- the bus arbitration observing unit 205 detects that the arbitration wait due to the competition of the plurality of bus masters 100 is occurring.
- the bus arbitration period counting means 206 counts a period during which arbitration wait is occurring due to the contention of the plurality of bus masters 100.
- the bus contention time measured here is for the bus master 100 to which the controller of the bus performing the arbitration of the bus access right does not give the access right when a plurality of bus masters 100 make access requests to the bus. Corresponds to the number of cycles waiting for access.
- the bus arbitration period table holding unit 303 holds a bus arbitration period table made up of a plurality of table entries for storing the bus arbitration period value for each area classified by the table entry selection unit 203.
- the bus access observing means 204 continues observing the occurrence of access to the bus (step S31: No). As a result, when the access to the bus is detected (step S31: Yes), the bus access observing unit 204 counts the required period counting unit 202 and the table entry selecting unit 203 by the bus access occurrence notifying unit (not shown) therein. , And notifies the bus arbitration observing means 205 of the access occurrence.
- the required period counting unit 202 starts counting the required period upon receiving an access generation notification from the bus access observing unit 204 (step S32).
- the table entry selection means 203 similarly receives an access occurrence notification from the bus access observation means 204, the access value of the notified bus access information, access type such as write / read distinction, burst access length, etc. It selects which table entry result of the required period table holding means 301 is to be updated using any one of the access ID and the like or a plurality of combinations thereof (step S33).
- the bus arbitration observing unit 205 similarly receives an access generation notification from the bus access observing unit 204, but when the arbitration wait due to the bus contention is not generated in the access of the observation target (step S34: No), Then, the process proceeds to step S38. On the other hand, if arbitration wait due to bus contention occurs in the access to be observed (step S34: Yes), the bus arbitration observing unit 205 notifies the bus arbitration period counting unit 206 that the bus arbitration waiting has occurred, and the bus arbitration period The counting means 206 starts counting of the bus arbitration period (step S35).
- step S36: No the bus arbitration observing unit 205 continues the observation of the bus arbitration.
- step S36: Yes the bus arbitration observing unit 205 notifies the bus arbitration period counting unit 206 of the bus arbitration waiting end, and the bus arbitration period counting unit 206 The counting of the bus arbitration period is ended (step S37).
- the bus access observing means 204 continues monitoring the end of the bus access (step S38: No). As a result, when the bus access is completed (step S38: Yes), the bus access observing unit 204 notifies the required period counting unit 202 of the access termination by the bus access termination notifying unit 222 therein.
- the required period counting unit 202 ends the counting of the required period upon receiving the access end notification from the bus access observing unit 204 (step S39).
- the required period counting unit 202 updates the table entry of the required period table holding unit 301
- the bus arbitration period counting unit 206 updates the table entry of the bus arbitration period table holding unit 303 (steps S310 and S311).
- the table entry to be updated is one selected by the table entry selection unit 203.
- the table entry selection in step S33 can be executed without being limited to the order of description, as long as it is a period from the access detection in step S31 to the update of the required period table in step S310.
- bus arbitration period table update in step S310 can be executed after the completion of the bus arbitration period counting in step S37 without being limited to the order of description, as long as the table entry is selected.
- the bus arbitration observation means, the bus arbitration period counting means, and the bus arbitration period table holding means make it possible to distinguish between waiting time and other waiting time by arbitration of the bus, and to grasp the influence with other bus masters. .
- the performance optimization system is connected to the bus master 100 and the peripheral circuit 120 located outside the MPU core and cache memory etc. It has selection means 203, required period table holding means 301, and bus access observation means 208.
- the bus access observing means 208 includes a bus access occurrence notifying means 221, a bus access end notifying means 222, and an access type judging means 223. Each of these means operates roughly as follows.
- the required period counting means 202 counts required periods such as access delay and waiting time.
- the table entry selection unit 203 uses the address value of the access to be observed, the type of access such as write / read distinction, the length of burst access, access ID, etc., or a plurality of combinations thereof, and the required period table Select which table entry of to store the counting result of the required period.
- the required period table holding means 301 holds a required period table consisting of a plurality of table entries storing the required period values for each area classified by the table entry selection means 203.
- the bus access observing means 208 has a function of detecting that an access to the bus has been generated, an address value among the detected bus access information by the internal access type judging means 223, another value for writing / reading, and a burst access.
- the bus access observing means 208 continues observing the occurrence of access to the bus (step S41: No). As a result, when the occurrence of access to the bus is detected (step S41: Yes), the bus access observation means 208 activates the access type determination means 223 therein.
- the access type determination unit 223 detects a bus access detected using information such as an address value, an access type such as write / read distinction or burst access length, and an access ID among the detected bus access information. It is judged whether or not it conforms to any specified condition. As a result, when the condition is not met (step S42: No), the process returns to step S41, and the next bus access detection is performed. On the other hand, if the condition is met (step S42: Yes), the bus access observing unit 208 takes the required period counting unit 202 as the access occurrence notification that the access conformed by the bus access occurrence notifying unit 221 therein is generated. The table entry selection means 203 is notified.
- the required period counting unit 202 starts counting the required period upon receiving an access generation notification from the bus access observing unit 208 (step S43).
- the table entry selection means 203 similarly receives an access generation notification from the bus access observation means 208, the address value of the notified access information, the type of access such as write / read distinction, burst access length, etc. It is selected which table entry result of the required period table holding means 301 is to be updated using one of the access ID and the like or a plurality of combinations thereof (step S44).
- the bus access observing means 208 continues monitoring the end of the bus access (step S45: No). As a result, when the access to the bus is completed (step S45: Yes), the bus access observing unit 208 notifies the required period counting unit 202 of the access termination by the bus access termination notifying unit 222 therein.
- the required period counting unit 202 ends the counting of the required period (step S46).
- the required period counting unit 202 updates the table entry of the required period table holding unit 301 (step S47).
- the table entry to be updated is one selected by the table entry selection unit 203.
- the table entry selection in step S44 can be executed without being limited to the order of description as long as it is a period from the access detection in step S41 to the required period table update in step S47.
- the access type determination means is provided in the bus access observation means and configured to be able to observe while limiting the target access to be observed, it is possible to eliminate the access which does not need to be observed, or The capacity of the period table holding means can be reduced.
- the performance optimization system is connected to an MPU 110 having an MPU core 111 and a cache memory 112, and includes a required period counting unit 202, a table entry selecting unit 203, and a required period.
- a table holding unit 301, a cache miss observing unit 207, and an access number table holding unit 302 are included. Each of these means operates roughly as follows.
- the required period counting means 202 counts required periods such as access delay and waiting time.
- the table entry selection unit 203 uses the address value of the access to be observed, the type of access such as write / read distinction, the length of burst access, access ID, etc. Select which table entry is to store the counting result of the required period.
- the required period table holding means 301 holds a required period table consisting of a plurality of table entries storing the required period values for each area classified by the table entry selection means 203.
- the cache miss observing unit 207 has a function of detecting that a cache miss has occurred, a function of notifying the occurrence of a cache miss access by the internal cache miss access occurrence notifying unit 211, and a cache miss on a bus that occurs due to a cache miss.
- the access number table holding means 302 holds an access number table consisting of a plurality of entries for storing the access number for each area classified by the table entry selection means 203.
- the cache miss observing means 207 continues observing the access to the cache memory 112 (step S51: No). As a result, when it is detected that a cache miss has occurred (step S51: Yes), the cache miss observing unit 207 accesses the required period counting unit 202 and the table entry selecting unit 203 by the cache miss access occurrence notifying unit 211 therein. Report occurrences.
- the required period counting unit 202 starts counting the required period upon receiving the access occurrence notification from the cache miss observing unit 207 (step S52).
- the table entry selection means 203 receives an access occurrence notification from the cache miss observation means 207, which table entry of the required period table holding means 301 is to be updated using the notified address value of the access information Is selected (step S53).
- the cache miss observing means 207 continues to monitor the end of the cache miss access to the bus generated due to the cache miss (step S54: No). As a result, when the cache miss access to the bus is completed (step S54: Yes), the cache miss observing unit 207 notifies the required period counting unit 202 of the access termination by the cache miss access end notifying unit 212 therein.
- the required period counting unit 202 ends the counting of the required period (step S55).
- the required period counting unit 202 is a table entry of the required period table holding unit 301
- the cache miss observing unit 207 is a table entry of the access number table holding unit 302 by the access number table updating unit 213 therein. It updates (steps S56 and S57). The entry to be updated is selected by the table entry selection unit 203.
- step S53 can be executed without being limited to the order of description, as long as it is a period from the access detection in step S51 to the required period table update in step S56.
- the access number table update in step S57 can be executed after the access detection in step S51 without being limited to the order of description as long as the table entry is selected.
- the access number table holding unit 302 is configured to be able to hold the access number for each classification area, and therefore, in combination with the required period information for each area held by the required period table holding unit 301, The average duration of access for each classification area can be identified.
- the performance optimization system of this embodiment shown in FIG. 11 is connected to the bus master 100 and the peripheral circuit 120 located outside the MPU core and cache memory etc., and includes an access delay cycle measurement counter 401 and bus arbitration cycle measurement. It has a counter 402, an address generator 403, a setting register 404, an entry updater 405, an AND circuit 406, a table memory 410, and a bus access observer 420.
- the table memory 410 holds a table composed of a plurality of entries (table entries) 411 including an access number holding unit 412, an access delay holding unit 413, and a bus arbitration cycle number holding unit 414.
- the bus access observer 420 includes an access filter 421 that narrows down the target access.
- the bus access observer 420 receives the signal from the observation point of the bus and the signal of the setting content from the setting register 404, and observes based on the signal from the observation point of the bus according to the setting content notified from the setting register 404. I do. At this time, if the setting of the setting register 404 is set to narrow the observation target, the narrowing is performed by the access filter 421.
- the bus access observer 420 notifies the access delay cycle measurement counter 401, the bus arbitration cycle measurement counter 402, the entry updater 405, and the AND circuit 406 of the observation target access detection notification and the observation target access end notification. Therefore, the observation target access detection / end notification signal is set to H level while the observation target access is occurring, the detection notification changes from L level to H level, and the end notification changes from H level to L level. Done by the change of When a bus access to be observed is detected, the address generator 403 is notified of an address value of the access to be observed, an access type such as write / read distinction, a length of burst access, an access ID and the like.
- busses that adopt a method in which a plurality of accesses overlap.
- the bus access observer 420 needs to be able to cope with the case where multiple bus accesses overlap.
- the configuration can be easily expanded to a configuration in which a plurality of bus masters are to be observed, and it is desirable to be a target.
- the access delay cycle measurement counter 401 receives, from the bus access observer 420, notification of start and end of the target bus access to be observed.
- the bus access observer 420 is configured to output the H level to the observation target access detection / end notification signal during the generation of the observation target access
- the access delay cycle measurement counter 401 is a bus access observer The number of cycles during the period when the signal from 420 is at H level is counted.
- the counting is finished and the measured value is notified to the entry updater 405.
- the access delay cycle measurement counter 401 needs to have a plurality of counters so that it can cope with the case where a plurality of bus accesses overlap.
- the bus arbitration cycle measurement counter 402 receives a bus arbitration detection notification and an end notification from the AND circuit 406.
- the AND circuit 406 is configured to output the H level when the observation target bus master 100 waits for arbitration while the observation target access is occurring.
- the bus arbitration cycle measurement counter 402 counts the number of cycles during the period when the signal from the AND circuit 406 is at the H level, and when the signal from the AND circuit 406 changes from the H level to the L level, counting is completed and measurement is performed. The value is notified to the entry updater 405.
- bus arbitration cycle measurement counter 402 needs to have a plurality of counters so that it can cope with the case where a plurality of bus accesses overlap.
- the address generator 403 receives from the bus access observer 420 the address value of the access to be observed, the type of access such as write / read distinction, the length of the burst access, the access ID and the like. The address generator 403 uses these pieces of information to calculate the address of the table memory 410 in which the entry for storing the measurement result is stored, and notifies the entry updater of the address.
- the setting register 404 holds the setting of the observation target of the bus access observer 420, the setting of the operation, the setting of the operation of the address generator 403, etc., and notifies the bus access observer 420 and the address generator 403, respectively.
- the entry updater 405 is a detection / end notification of the access to be observed from the bus access observer 420, notification of measurement values from the access delay cycle measurement counter 401 and the bus arbitration cycle measurement counter 402, and a table from the address generator 403. The notification of the address of the memory 410 is received.
- the entry updater 405 has a function of updating the entry 411 on the table memory 410.
- the update is started when the end of the observation target access is notified, but this notification detects that the observation target access detection / end notification signal from the bus access observer 420 has changed from the H level to the L level. To be done.
- the entry updater 405 reads the value of the update target entry 411 on the table memory 410 based on the address notified from the address generator 403.
- the entry 411 includes an access number holding unit 412, an access delay holding unit 413, and a bus arbitration cycle number holding unit 414, but the entry updater 405 adds 1 to the value of the access number holding unit 412.
- the measured value notified from the access delay cycle measurement counter 401 is added to the value of the access delay holding unit 413, and the measured value notified from the bus arbitration cycle measurement counter 402 is added to the value of the bus arbitration cycle number holding unit 414.
- write-back is performed on the update target entry 411 on the table memory 410.
- the AND circuit 406 receives an observation target access detection / end notification signal from the bus access observer 420 and an arbitration wait signal of the observation target bus master 100 from the bus arbiter 130.
- the bus arbiter 130 is configured to output the H level when the observation target bus master 100 is waiting for arbitration.
- H is at H level during observation target access occurrence and H level at arbitration wait of observation target bus master, and bus arbitration cycle when observation target bus master 100 becomes arbitration wait during observation target access occurrence.
- the bus access observation unit 420 continues observation of the occurrence of access to the bus (step S61: No), and when access is detected (step S61: Yes), sorting by the internal access filter 421 is started.
- the access filter 421 uses the setting register 404 for the detected bus access using information such as address value, access type such as write / read distinction, burst access length, and access ID. Determines if any specified conditions are met.
- the condition is not met (step S62: No)
- the process returns to the next bus access detection.
- the bus access observing device 420 updates the access delay cycle measurement counter 401, the address generator 403, and the entry as an access occurrence notification that the matched access has occurred.
- the unit 405 and the AND circuit 406 are notified (the notification to the entry updater 405 has no meaning here).
- the notification is performed by changing the observation target access detection / end notification signal from L level to H level. At this time, notification of the address value of the observation target access to the address generator 403, the type of write / read distinction, the access type such as the length of the burst access, the access ID, etc. is simultaneously performed.
- Step S63 since the access delay cycle measurement counter 401 is configured to count the number of cycles when the observation target access detection / end notification signal is at the H level, counting is started by the access occurrence notification from the bus access observer 420. (Step S63).
- the address generator 403 receives the notification of the occurrence of an access from the bus access observing unit 420, simultaneously accesses the address value of the bus access information notified, the type of access such as write / read distinction, the length of burst access, etc.
- the address of the table memory 410 in which the entry for storing the measurement result is stored is calculated using any one of ID and the like or a plurality of combinations thereof, and notified to the entry updater 405 (step S64).
- the H level is input to one of the inputs of the AND circuit 406 as the observation target access detection / end notification signal.
- the bus arbiter 130 Since the bus arbiter 130 is configured to output the H level when the observation target bus master 100 is in the arbitration wait state, the input of the AND circuit 406 is performed when the arbitration wait due to the bus contention does not occur in the access of the observation target. One of them is at the L level, and outputs the L level to the bus arbitration cycle measurement counter 402.
- step S65: No the bus arbitration cycle measurement counter 402 does nothing (step S65: No), and the process proceeds to step S69.
- step S65: Yes the two inputs of the AND circuit 406 become H level.
- the bus arbitration cycle measurement counter 402 starts counting the bus arbitration period when the H level is input (step S66).
- the bus arbitration cycle measurement counter 402 continues counting while the input from the AND circuit 406 is at H level (step S67: No), and when the bus arbitration waiting for the access to be observed is finished, the bus arbiter 130 to the AND circuit 406 Signal becomes L level, and the AND circuit 406 outputs L level (step S67: Yes).
- the bus arbitration cycle measurement counter 402 ends the counting (step S67: Yes), and notifies the entry updater 405 of the count value (step S68).
- the bus access observer 420 continues monitoring the end of the bus access (step S69: No).
- the bus access observing unit 420 observes the access delay cycle measuring counter 401, the address generator 403, the entry updating unit 405, and the AND circuit 406 as observation objects.
- the end of the access is notified by setting the access detection / end notification signal to L level (notice of notification to the address generator 403 and the AND circuit 406 here).
- the access delay cycle measurement counter 401 ends counting of the required period (step S69: Yes), and notifies the entry updater 405 of the count value. (Step S610).
- entry updater 405 receives the address notified from address generator 403.
- the value of the update target entry 411 on the table memory 410 is read based on the above (step S611).
- the update target entry 411 includes an access number holding unit 412, an access delay holding unit 413, and a bus arbitration cycle number holding unit 414.
- the entry update unit 405 adds 1 to the value of the access number holding unit 412 with respect to the update target entry 411, and adds the count value notified from the access delay cycle measurement counter 401 to the value of the access delay holding unit 413.
- the count value notified from the bus arbitration cycle measurement counter 402 is added to the value of the bus arbitration cycle number holding unit 414 (step S612).
- the entry updater 405 writes back the update target entry 411 on the table memory 410 (step S613).
- a cache miss access from a processor causes a characteristic bus access called "WRAP burst" on the bus.
- WRAP burst when transferring n pieces of continuous data, transfer is started from the m-th arbitrary data in which 1 ⁇ m ⁇ n, and after the n-th data transfer, the 1st returns to the m ⁇ 1th
- the procedure for transferring up to the data in (1) it is a transfer method which permits transfer of n pieces of data.
- the length of the burst access is characterized in that it can transfer the number of data that satisfy the cache line.
- the access generator 403 causes the WRAP burst to update different entries depending on the burst access length, or the access filter 421 in the bus access observer 420 according to the setting of the setting register 404.
- Cache miss access can be separated and observed by a method of narrowing down and observing the corresponding access.
- the performance optimization system can realize each process (function) of the components described above, the physical configuration of the system, hardware (circuit) inside the system, and
- the software (program) configuration is not particularly limited.
- the present invention can be applied to any form such as individually configuring individual circuits or units or program parts (program modules etc.), or integrally configuring in one circuit or unit. These forms can be appropriately selected according to the circumstances such as the function and application of the system actually used.
- each function of the components described above may be realized by software processing by a computer such as a processor having a central processing unit (CPU).
- a program performance optimization program for causing a computer to function is included in the scope of the present invention.
- the program is not limited to a program of a format directly executable by the CPU, but includes various programs such as a program of a source format, a compressed program, an encrypted program, and the like.
- this program operates in cooperation with a control program such as an OS (Operating System) or firmware that controls the entire system, or is incorporated in a part thereof to configure an application program that operates integrally. It can be provided in any form such as a software component (software module).
- this program when installed and used in a system having a communication function of communicating with an external device via a wireless or wired line, it is downloaded from an external node such as a server connected on the line and It can also be installed and used on recording media of These forms can be appropriately selected according to the circumstances such as the function and application of the system actually used.
- a computer readable recording medium recording the above computer program is also included in the scope of the present invention.
- the recording medium can be applied in any form, such as a memory such as a ROM (Read Only Memory), which is fixedly used in the system, or a portable type which can be carried by the user. is there.
- the present invention can be applied to an application of observing cache misses and collecting information for performance optimization.
- the present invention can be applied to an application of observing information of a plurality of bus masters and performing performance optimization.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
110 MPU(中央処理装置;プロセッサ;データ処理装置)
111 MPUコア
112 キャッシュメモリ
120 周辺回路
130 バスアービタ
201 キャッシュミス観測手段
202 所要期間計数手段
203 テーブルエントリ選択手段
204 バスアクセス観測手段
205 バス調停観測手段
206 バス調停期間計数手段
207 キャッシュミス観測手段
211 キャッシュミスアクセス発生通知手段
212 キャッシュミスアクセス終了通知手段
213 アクセス回数テーブル更新手段
221 バスアクセス発生通知手段
222 バスアクセス終了通知手段
223 アクセス種別判定手段
301 所要期間テーブル保持手段
302 アクセス回数テーブル保持手段
303 バス調停期間テーブル保持手段
401 アクセス遅延サイクル測定カウンタ
402 バス調停サイクル測定カウンタ
403 アドレス発生器
404 設定レジスタ
405 エントリ更新器
406 AND回路
410 テーブル用メモリ
420 バスアクセス観測器
411 エントリ(テーブルエントリ)
412 アクセス数保持部
413 アクセス遅延保持部
414 バス調停サイクル数保持部
421 アクセスフィルタ
本発明の第1の実施の形態に係る性能最適化システムは、所要期間計数手段と、テーブルエントリ選択手段と、所要期間テーブル保持手段と、キャッシュミス観測手段とを備える。これらの各手段は、次のように動作する。キャッシュミス観測手段は、キャッシュミス発生を検出する。所要期間計数手段は、キャッシュミスによるアクセス遅延や待ち時間などの所要期間を計数する。テーブルエントリ選択手段は、キャッシュミスアクセスを観測対象のアクセスのアドレス値等のアクセスに基づく分類領域ごとに選別し、所要期間計数手段による所要期間の計数値により、その選別された分類領域に該当する所要期間テーブル保持手段の該当テーブルエントリを更新する。
本発明の第2の実施の形態に係る性能最適化システムは、所要期間計数手段と、テーブルエントリ選択手段と、所要期間テーブル保持手段と、バスアクセス観測手段とを備える。これらの各手段は、次のように動作する。バスアクセス観測手段は、バスアクセスを検出する。所要期間計数手段は、キャッシュミスによるアクセス遅延や待ち時間などの所要期間を計数する。テーブルエントリ選択手段は、アクセス種別等のアクセスに基づく分類領域ごとに選別することでキャッシュミスアクセスとその他のアクセスを分類し、所要期間計数手段による所要期間の計数値により、その選別された分類領域に該当する所要期間テーブル保持手段の該当テーブルエントリを更新する。
本発明の第2の実施の形態に係る性能最適化システムは、所要期間計数手段と、テーブルエントリ選択手段と、所要期間テーブル保持手段と、バスアクセス観測手段と、バス調停観測手段と、バス調停期間計数手段と、バス調停期間テーブル保持手段とを備える。これらの各手段は、次のように動作する。バスアクセス観測手段は、バスアクセスを検出する。所要期間計数手段は、アクセス遅延や待ち時間などの所要期間を計数する。バス調停観測手段は、バス調停を検出する。バス調停期間計数手段は、バス調停による待ち時間などの所要期間を計数する。テーブルエントリ選択手段は、バスアクセスを観測対象のアクセスのアドレス値等のアクセスに基づく分類領域ごとに選別し、所要期間計数手段による所要期間の計数値により、その選別された分類領域に該当する所要期間テーブル保持手段の該当テーブルエントリを更新すると共に、バス調停期間計数手段による所要期間の計数値により、上記の選別された分類領域に該当するバス調停期間テーブル保持手段の該当テーブルエントリを更新する。
Claims (17)
- 観測対象のアクセスに関わる所要期間を計数する所要期間計数手段と、
前記観測対象のアクセスに基づく分類ごとにメモリの領域を区切り、その区切った分類領域ごとに前記所要期間の計数値を保存する複数のテーブルエントリからなる前記所要期間の計数値を保存する所要期間テーブルを保持する所要期間テーブル保持手段と、
前記観測対象のアクセスに基づいて、前記所要期間テーブルを構成する前記分類領域ごとの複数のテーブルエントリの内のどのテーブルエントリに前記所要期間の計数値を保存するかを選択するテーブルエントリ選択手段と、
前記観測対象のアクセスに伴うキャッシュミスの発生を検出するキャッシュミス観測手段とを備えたことを特徴とする性能最適化システム。 - 前記キャッシュミス観測手段は、
前記キャッシュミスの発生を通知するキャッシュミス発生通知手段と、
前記キャッシュミスによって発生するバスへのキャッシュミスアクセスの終了を通知するキャッシュミスアクセス終了通知手段とを含むことを特徴とする請求項1記載の性能最適化システム。 - 観測対象のアクセスに関わる所要期間を計数する所要期間計数手段と、
前記観測対象のアクセスに基づく分類ごとにメモリの領域を区切り、その区切った分類領域ごとに前記所要期間の計数値を保存する複数のテーブルエントリからなる所要期間テーブルを保持する所要期間テーブル保持手段と、
前記観測対象のアクセスに基づいて、前記所要期間テーブルを構成する前記分類領域ごとの複数のテーブルエントリの内のどのテーブルエントリに所要期間の計数値を保存するかを選択するテーブルエントリ選択手段と、
前記観測対象のアクセスに伴うバスアクセスの発生を検出するバスアクセス観測手段とを備えたことを特徴とする性能最適化システム。 - 前記バスアクセス観測手段は、
前記バスアクセスの発生を通知するバスアクセス発生通知手段と、
前記バスアクセスの終了を通知するバスアクセス終了通知手段とを含むことを特徴とする請求項3記載の性能最適化システム。 - 前記観測対象のアクセスの種別を判定し、特定のアクセスを選択して検出するアクセス種別判定手段をさらに備えたことを特徴とする請求項1から4のいずれか1項に記載の性能最適化システム。
- 前記観測対象以外のバスマスタとのアクセス競合の調停によりアクセスが待たされていることを検出するバス調停観測手段と、
バス調停による期間を計数するバス調停期間計数手段と、
前記観測対象のアクセスに基づく分類ごとにメモリの領域を区切り、その区切った分類領域ごとに前記バス調停による期間の計数値を保存する複数のテーブルエントリからなるバス調停期間テーブルを保存するバス調停期間テーブル保持手段とをさらに備えたことを特徴とする請求項1から5のいずれか1項に記載の性能最適化システム。 - 前記観測対象のアクセスに基づく分類ごとにメモリの領域を区切り、その区切った分類領域ごとに前記観測対象のアクセス回数を保存する複数のテーブルエントリからなるアクセス回数テーブルを保存するアクセス回数テーブル保持手段をさらに備えたことを特徴とする請求項1から6のいずれか1項に記載の性能最適化システム。
- 観測対象のアクセスに伴うキャッシュミスアクセスの発生を検出し、
前記アクセスに関わる所要期間の計数を開始し、
前記観測対象のアクセスに基づく分類ごとにメモリの領域を区切り、その区切った分類領域ごとに前記所要期間の計数値を保存する複数のテーブルエントリからなる所要期間テーブルからテーブルエントリを選択し、
前記キャッシュミスアクセスの終了を検出し、
前記アクセスに関わる所要期間の計数を終了し、
前記キャッシュミスアクセスの発生から終了までの間の前記所要時間の計数値により、前記所要期間テーブルを構成する複数のテーブルエントリの内の選択されたテーブルエントリを更新することを特徴とする性能最適化方法。 - 観測対象のアクセスに伴うバスアクセスの発生を検出し、
前記アクセスに関わる所要期間の計数を開始し、
前記観測対象のアクセスに基づく分類ごとにメモリの領域を区切り、その区切った分類領域ごとに前記所要期間の計数値を保存する複数のテーブルエントリからなる所要期間テーブルからテーブルエントリを選択し、
前記バスアクセスの終了を検出し、
前記アクセスに関わる所要期間の計数を終了し、
前記バスアクセスの発生から終了までの間の前記所要時間の計数値により、前記所要期間テーブルを構成する複数のテーブルエントリの内の選択されたテーブルエントリを更新することを特徴とする性能最適化方法。 - さらに、バス競合の発生を検出し、
バス調停期間の計数を開始し、
前記観測対象のアクセスに基づく分類ごとにメモリの領域を区切り、その区切った分類領域ごとに前記バス調停期間の計数値を保存する複数のエントリからなるバス調停期間テーブルからテーブルエントリを選択し、
前記バス競合の終了を検出し、
前記バス調停期間の計数を終了し、
前記バス競合の発生から終了までの間の前記バス調停期間の計数値により前記バス調停期間テーブルを構成する複数のテーブルエントリの内の選択されたテーブルエントリを更新することを特徴とする請求項8または9記載の性能最適化方法。 - さらに、検出したアクセスが指定された任意の条件に適合するか判定を行うことを特徴とする請求項8から10のいずれか1項に記載の性能最適化方法。
- さらに、前記観測対象のアクセスに基づく分類ごとにメモリの領域を区切り、その区切った分類領域ごとに前記観測対象のアクセス回数を保存する複数のテーブルエントリからなるアクセス回数テーブルを更新することを特徴とする請求項8から11のいずれか1項に記載の性能最適化方法。
- コンピュータに、
観測対象のアクセスに伴うキャッシュミスアクセスの発生を検出する処理と、
前記アクセスに関わる所要期間の計数を開始する処理と、
前記観測対象のアクセスに基づく分類ごとにメモリの領域を区切り、その区切った分類領域ごとに前記所要期間の計数値を保存する複数のテーブルエントリからなる所要期間テーブルからテーブルエントリを選択する処理と、
前記キャッシュミスアクセスの終了を検出する処理と、
前記アクセスに関わる所要期間の計数を終了する処理と、
前記キャッシュミスアクセスの発生から終了までの間の前記所要時間の計数値により前記所要期間テーブルを構成する複数のテーブルエントリの内の選択されたテーブルエントリを更新する処理と、
を実行させることを特徴とする性能最適化プログラム。 - コンピュータに、
観測対象のアクセスに伴うバスアクセスの発生を検出する処理と、
前記アクセスに関わる所要期間の計数を開始する処理と、
前記観測対象のアクセスに基づく分類ごとにメモリの領域を区切り、その区切った分類領域ごとに前記所要期間の計数値を保存する複数のテーブルエントリからなる所要期間テーブルからテーブルエントリを選択する処理と、
前記バスアクセスの終了を検出する処理と、
前記アクセスに関わる所要期間の計数を終了する処理と、
前記バスアクセスの発生から終了までの間の前記所要時間の計数値により、前記所要期間テーブルを構成する複数のテーブルエントリの内の選択されたテーブルエントリを更新する処理と、
を実行させることを特徴とする性能最適化プログラム。 - 前記コンピュータに、
バス競合の発生を検出する処理と、
バス調停期間の計数を開始する処理と、
前記観測対象のアクセスに基づく分類ごとにメモリの領域を区切り、その区切った分類領域ごとに前記バス調停期間の計数値を保存する複数のテーブルエントリからなるバス調停期間テーブルからテーブルエントリを選択する処理と、
前記バス競合の終了を検出する処理と、
前記バス調停期間の計数を終了する処理と、
前記バス競合の発生から終了までの間の前記バス調停期間の計数値により、前記バス調停期間テーブルを構成する複数のテーブルエントリの内の選択されたテーブルエントリを更新する処理と、
をさらに実行させることを特徴とする請求項13または14記載の性能最適化プログラム。 - 前記コンピュータに、
検出したアクセスが指定された任意の条件に適合するか判定を行う処理をさらに実行させることを特徴とする請求項13から15のいずれか1項に記載の性能最適化プログラム。 - 前記コンピュータに、
前記観測対象のアクセスに基づく分類ごとにメモリの領域を区切り、その区切った分類領域ごとに前記観測対象のアクセス回数を保存する複数のテーブルエントリからなるアクセス回数テーブルを更新する処理をさらに実行させることを特徴とする請求項13から16のいずれか1項に記載の性能最適化プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009553406A JP5397771B2 (ja) | 2008-02-13 | 2009-02-06 | 性能最適化システム、方法及びプログラム |
US12/865,781 US8738881B2 (en) | 2008-02-13 | 2009-02-06 | Performance optimization system, method and program |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008-031728 | 2008-02-13 | ||
JP2008031728 | 2008-02-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009101900A1 true WO2009101900A1 (ja) | 2009-08-20 |
Family
ID=40956932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/052041 WO2009101900A1 (ja) | 2008-02-13 | 2009-02-06 | 性能最適化システム、方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8738881B2 (ja) |
JP (1) | JP5397771B2 (ja) |
WO (1) | WO2009101900A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016056217A1 (ja) * | 2014-10-07 | 2016-04-14 | 日本電気株式会社 | 測定装置、測定システム、測定方法、および、プログラム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8856452B2 (en) * | 2011-05-31 | 2014-10-07 | Illinois Institute Of Technology | Timing-aware data prefetching for microprocessors |
US9311207B1 (en) * | 2013-09-12 | 2016-04-12 | Emc Corporation | Data storage system optimizations in a multi-tiered environment |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06324957A (ja) * | 1993-05-14 | 1994-11-25 | Mitsubishi Electric Corp | バス監視装置 |
JPH07253915A (ja) * | 1994-03-15 | 1995-10-03 | Hitachi Ltd | 性能測定機能を有するアクセス制御装置 |
JPH09101906A (ja) * | 1995-10-09 | 1997-04-15 | Hitachi Ltd | 並列計算機の性能測定方法 |
JPH09198275A (ja) * | 1996-01-22 | 1997-07-31 | Nec Corp | コンピュータ性能向上推奨システム |
JPH09274589A (ja) * | 1996-04-05 | 1997-10-21 | Nec Corp | キャッシュミスアドレス分布トレース回路 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0926591B1 (en) * | 1997-12-26 | 2005-08-24 | Casio Computer Co., Ltd. | Network-access management system and method |
US6249906B1 (en) * | 1998-06-26 | 2001-06-19 | International Business Machines Corp. | Adaptive method and system to minimize the effect of long table walks |
JP3196734B2 (ja) | 1998-08-11 | 2001-08-06 | 日本電気株式会社 | タイミング解析装置、方法及び記録媒体 |
JP2000339219A (ja) | 1999-05-27 | 2000-12-08 | Nec Kofu Ltd | 情報処理装置およびペナルティ時間計測方法、並びに記録媒体 |
JP2007206806A (ja) | 2006-01-31 | 2007-08-16 | Matsushita Electric Ind Co Ltd | キャッシュ観測装置、プロセッサの解析方法およびキャッシュメモリ |
US8200902B2 (en) * | 2010-06-10 | 2012-06-12 | Arm Limited | Cache device for coupling to a memory device and a method of operation of such a cache device |
-
2009
- 2009-02-06 JP JP2009553406A patent/JP5397771B2/ja not_active Expired - Fee Related
- 2009-02-06 US US12/865,781 patent/US8738881B2/en active Active
- 2009-02-06 WO PCT/JP2009/052041 patent/WO2009101900A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06324957A (ja) * | 1993-05-14 | 1994-11-25 | Mitsubishi Electric Corp | バス監視装置 |
JPH07253915A (ja) * | 1994-03-15 | 1995-10-03 | Hitachi Ltd | 性能測定機能を有するアクセス制御装置 |
JPH09101906A (ja) * | 1995-10-09 | 1997-04-15 | Hitachi Ltd | 並列計算機の性能測定方法 |
JPH09198275A (ja) * | 1996-01-22 | 1997-07-31 | Nec Corp | コンピュータ性能向上推奨システム |
JPH09274589A (ja) * | 1996-04-05 | 1997-10-21 | Nec Corp | キャッシュミスアドレス分布トレース回路 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016056217A1 (ja) * | 2014-10-07 | 2016-04-14 | 日本電気株式会社 | 測定装置、測定システム、測定方法、および、プログラム |
JPWO2016056217A1 (ja) * | 2014-10-07 | 2017-08-10 | 日本電気株式会社 | 測定装置、測定システム、測定方法、および、プログラム |
Also Published As
Publication number | Publication date |
---|---|
US8738881B2 (en) | 2014-05-27 |
US20100332709A1 (en) | 2010-12-30 |
JP5397771B2 (ja) | 2014-01-22 |
JPWO2009101900A1 (ja) | 2011-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6349394B1 (en) | Performance monitoring in a NUMA computer | |
US7447946B2 (en) | Storage of trace data within a data processing apparatus | |
US20070282573A1 (en) | Method and System for Changing a Description for a State Transition Function of a State Machine Engine | |
JP2006500687A (ja) | パフォーマンス・モニタおよびその方法 | |
CN102859504A (zh) | 有效分区存储缓存 | |
WO2009101900A1 (ja) | 性能最適化システム、方法及びプログラム | |
US8458405B2 (en) | Cache bank modeling with variable access and busy times | |
US20110320700A1 (en) | Concurrent Refresh In Cache Memory | |
JP5304815B2 (ja) | マイクロコンピュータ | |
US8255632B2 (en) | Pre-fetch control apparatus | |
CN110235113A (zh) | 数据处理 | |
US8452920B1 (en) | System and method for controlling a dynamic random access memory | |
JP2010146495A (ja) | メモリシステムおよびコンピュータシステム | |
JP5850724B2 (ja) | データ処理装置およびその制御方法 | |
US20160350196A1 (en) | Arithmetic processing device, information processing apparatus and control method of arithmetic processing device | |
JP2009217385A (ja) | プロセッサ及びマルチプロセッサ | |
JP4861270B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP4504737B2 (ja) | パフォーマンス・モニタ回路 | |
JP7271294B2 (ja) | 情報処理装置および情報処理方法 | |
CN112241390B (zh) | 主机互连装置及其方法 | |
JP5907558B2 (ja) | マルチインターバルタイマ並びにその制御装置、制御方法及び制御プログラム | |
JPH1185613A (ja) | キャッシュメモリ | |
KR100723475B1 (ko) | 캐쉬 메모리 시스템과 버스의 버스 레이턴시 변화에 따라캐쉬 메모리의 라인 사이즈를 변경하는 방법 | |
JP2013097637A (ja) | キャッシュ装置、メモリシステム及びデータ転送方法 | |
TW410300B (en) | Detection method for the storage capacity of high speed cache |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09710571 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12865781 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2009553406 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09710571 Country of ref document: EP Kind code of ref document: A1 |