WO2011045931A1 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
WO2011045931A1
WO2011045931A1 PCT/JP2010/006098 JP2010006098W WO2011045931A1 WO 2011045931 A1 WO2011045931 A1 WO 2011045931A1 JP 2010006098 W JP2010006098 W JP 2010006098W WO 2011045931 A1 WO2011045931 A1 WO 2011045931A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
information processing
processing apparatus
measuring
cpu
Prior art date
Application number
PCT/JP2010/006098
Other languages
English (en)
French (fr)
Inventor
国雄 藤川
智英 内海
Original Assignee
パナソニック株式会社
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 パナソニック株式会社 filed Critical パナソニック株式会社
Priority to JP2011536042A priority Critical patent/JPWO2011045931A1/ja
Priority to CN2010800465615A priority patent/CN102713867A/zh
Priority to US13/500,494 priority patent/US20120198159A1/en
Publication of WO2011045931A1 publication Critical patent/WO2011045931A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/253Centralized memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory
    • G06F2212/6012Reconfiguration of cache memory of operating mode, e.g. cache mode or local memory mode
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a memory and bus control technology used for improving performance in an information processing apparatus.
  • a cache memory of an information processing apparatus has means for allocating an arbitrary area as a local memory, and a built-in memory that can have a memory configuration optimum for processing contents is known.
  • the built-in memory is faster and consumes less power than an externally connected memory, the performance of the information processing apparatus is improved by changing the memory configuration so that the built-in memory can be used effectively.
  • Patent Document 2 As a means to maintain this optimal memory configuration, the processing contents are analyzed during compilation, the processing contents are divided into several phases, the optimal memory configuration is derived in each phase, and the code for switching the memory configuration is generated The technique of doing is known.
  • Patent Document 2 since the method described in Patent Document 2 is an analysis of static memory access at the time of compilation, it can be applied to a system in which a generated program occupies a CPU and operates alone. There has been a problem that an optimum memory configuration cannot be obtained by detecting a change in memory utilization efficiency due to a change in device operation, power saving state, operation of other software, and the like.
  • the processing speed can be improved by using most of the built-in memory as cache memory, but other bus master devices are frequently used as memory.
  • the process to access is performed and the process is a process with higher priority than the process performed by the CPU. It is more efficient to release the cache memory, allocate it as local memory, and let the bus master device use it.
  • the present invention has been made in view of such conventional problems, and dynamically detects a decrease in memory utilization efficiency that cannot be predicted in advance, and reconfigures the allocation size of the cache memory and the local memory.
  • an information processing apparatus capable of improving performance is provided.
  • the information processing apparatus includes a system-on-chip built-in memory (first storage unit), an external memory (second storage unit) connected to the system-on-chip, the first storage unit, and the first storage unit.
  • An area of the first storage means or the second storage means used by the CPU and other bus master devices (information processing means), or moving means for moving the data stored in the means or the second storage means; Second changing means for changing is provided.
  • This configuration dynamically changes the internal memory configuration based on changes in memory usage efficiency, and allows the CPU and other bus master devices to use the internal memory with priority over the external memory.
  • the tightness of the bus, power consumption can be improved.
  • the measuring unit with this configuration may be a thing that measures the hit rate of the cache memory and the number of accesses. With this configuration, it is possible to improve a decrease in CPU processing speed caused by a shortage of cache memory. Further, when the cache memory is excessive, the cache memory can be released to other bus master devices as a local memory.
  • the measuring unit with this configuration may be a device that measures the load factor and operating frequency of the CPU.
  • the measuring unit having this configuration may be a VRAM size and an object for measuring the frequency of screen update.
  • the VRAM usage status of the graphic controller is detected, and when the display performance decreases due to an increase in VRAM access, the size of the local memory is increased and used as a VRAM. it can. Further, when the VRAM size is reduced while the local memory is used as the VRAM, the local memory can be released to another bus master device or released to the CPU as a cache.
  • the measuring unit with this configuration may be a type that measures the type of process being executed and the state change in the process.
  • this configuration it is possible to improve the CPU processing speed by predicting the memory utilization efficiency from the change of the software executed by the CPU and having an optimal memory configuration.
  • the cache memory can be opened to other bus master devices as local memory.
  • the measuring unit with this configuration may be an object that measures the occupancy rate of the bus band.
  • the bus master device including the CPU
  • the bus master device whose processing speed is low due to insufficient bus bandwidth can use the built-in memory to improve the processing speed.
  • the measuring unit having this configuration may be a device that measures the working set of the CPU.
  • the processing speed of the CPU can be improved by allocating more cache memory to the CPU as the working set increases. Further, when the working set decreases, the cache memory can be released to other bus master devices as a local memory.
  • the measuring unit with this configuration may be an object that measures interrupt events.
  • an optimal memory configuration can be maintained in response to changes in memory usage conditions triggered by events.
  • a memory use efficiency change that cannot be predicted by static analysis is detected, the configuration of the first storage means is dynamically changed, and the memory area used by the information processing means is moved. Can rearrange and maintain optimal memory configuration. As a result, it is possible to improve performance such as an improvement in processing speed of the information processing means, a reduction in bus bandwidth load, and a reduction in power consumption.
  • FIG. 1 is a schematic configuration diagram of an information processing apparatus according to Embodiment 1 of the present invention.
  • Schematic configuration diagram of an information processing apparatus in Embodiment 2 of the present invention The flowchart figure explaining operation
  • Schematic configuration diagram of an information processing apparatus in Embodiment 3 of the present invention The flowchart figure explaining operation
  • Schematic configuration diagram of an information processing apparatus in Embodiment 4 of the present invention The flowchart figure explaining operation
  • Schematic configuration diagram of an information processing apparatus in Embodiment 5 of the present invention The flowchart figure explaining operation
  • Schematic configuration diagram of an information processing apparatus in Embodiment 6 of the present invention The flowchart figure explaining operation
  • FIG. 1 is a schematic configuration diagram of an information processing apparatus according to Embodiment 1 of the present invention
  • FIG. 2 is a flowchart for explaining the operation of the information processing apparatus.
  • the information processing apparatus includes a CPU 101 (information processing means), a built-in memory 102 (first storage means), and an external memory 103 (second storage means). And another bus master device 104 (information processing means) that is not a CPU, a cache measurement unit 106 that measures the state of the built-in memory 102, and a control unit 105 (first changing means, moving means, second changing means) And an internal bus 108 that connects the CPU 101 and the internal memory 102, and an external bus 107 that connects the internal memory 102, the bus master device 104, and the external memory 103.
  • the control unit 105 monitors the measurement value of the cache measurement unit 106, and when the memory use efficiency can be expected to be improved, the control unit 105 changes the memory configuration of the built-in memory 102, and the CPU 101 changes the memory configuration. And a moving means for moving data in the internal memory 102 and the external memory 103 used by the bus master device 104, and a second changing means for causing the CPU 101 and the bus master device 104 to use the destination area. .
  • control unit 105 performs initial allocation between the cache memory and the local memory of the internal memory 102 (S101), and then measures the cache hit rate at regular intervals (S102). (S103).
  • the cache memory Process determines that there is a possibility that the size of the cache memory is excessive when the cache hit rate is a numerical value greater than a certain value (for example, 90% or more) (S104).
  • the cache memory Process to reduce.
  • the current cache memory allocation size is determined (S105). If the cache memory size can be reduced (for example, the cache allocation size of the internal memory 102 is 5% or less), the configuration of the internal memory 102 is changed. Then, the cache memory is decreased (for example, 5%) and the local memory is increased (S106).
  • the data in the area of the external memory 103 currently used by the bus master device 104 is moved to the local memory, the setting of the bus master device 104 is changed, and the local Use the area to which the data of the memory is moved.
  • the control unit 105 determines that the cache memory size may be insufficient (S104).
  • the current cache memory allocation size is determined (S108), and when the cache memory size can be increased (for example, the cache allocation size of the built-in memory 102 is 95% or less), the local memory is allocated to the cache memory.
  • the data in the local memory area used by the bus master device 104 is moved to the external memory 103, the setting of the bus master device 104 is changed, and the data transfer destination area in the external memory 103 is used (S109).
  • the configuration of the internal memory 102 is changed to increase the cache size (for example, 5%) and decrease the local memory (S110).
  • the configuration of the built-in memory 102 can be changed from the cache utilization efficiency. Therefore, when the cache memory size is insufficient, the cache memory is increased and the local memory is decreased. The processing speed of the CPU 101 can be improved. Further, when the cache memory is excessively allocated, the cache memory size can be decreased, the local memory can be increased, and the bus master device 104 can be released.
  • FIG. 3 is a schematic configuration diagram of the information processing apparatus according to Embodiment 2 of the present invention
  • FIG. 4 is a flowchart for explaining the operation of the information processing apparatus
  • FIG. 5 is a table showing configurations of the cache memory and the local memory.
  • the constituent elements 201 to 205, 207, and 208 are equivalent to the constituent elements 101 to 105, 107, and 108 of the first embodiment.
  • a CPU measurement unit 206 that measures the state of the CPU 201 is provided.
  • control unit 205 performs initial allocation of the cache memory and the local memory of the internal memory 202 (S201), and thereafter the CPU frequency and the load factor every certain time (S202). Is measured (S203).
  • the control unit 205 determines the allocation size of the cache memory and the local memory using the table shown in FIG. 5 based on the frequency and load factor of the CPU 201 (S204).
  • the frequency and load factor of the CPU 201 are lower and the operation rate is lower, the frequency of memory access of the CPU 201 is reduced and the cache memory is unnecessary, and conversely, the frequency and load factor are higher and the operation rate is higher.
  • the table is configured such that the cache memory size is large when the frequency and load factor of the CPU 201 are high, and the cache memory size is small when the frequency and load factor of the CPU 201 are low.
  • control unit 205 compares the current allocation size of the cache memory with the currently determined size (S205). If the cache memory size decreases, the configuration of the internal memory 202 is changed to reduce the cache memory to reduce the local memory. Is increased (S206). In order to use the newly allocated local memory for another bus master device, the data in the area of the external memory 203 currently used by the bus master device 204 is moved to the local memory, the setting of the bus master device 204 is changed, and the data in the local memory is changed. The destination area is used (S207). When the size of the cache memory increases, the local memory is allocated to the cache.
  • the data in the local memory area currently used by the bus master device 204 is moved to the external memory 203, the setting of the bus master device 204 is changed, and the external memory
  • the data transfer destination area 203 is used (S208).
  • the configuration of the internal memory 202 is changed to increase the cache size and decrease the local memory (S209).
  • the configuration of the internal memory 202 can be changed based on the operation status of the CPU 201. Therefore, the operating rate of the CPU 201 that is in a sleep state in a low power consumption state is low, and the cache memory is When it is not necessary, the cache memory can be reduced, the local memory can be increased, and the bus master device 204 can be released. Further, when the operating rate of the CPU 201 increases and the CPU 201 requires a cache memory, the local memory can be reduced, the cache memory can be increased, and the processing speed of the CPU 201 can be improved.
  • FIG. 3 is a schematic configuration diagram of the information processing apparatus according to the third embodiment of the present invention
  • FIG. 7 is a flowchart for explaining the operation of the information processing apparatus
  • FIG. 8 is a table showing configurations of the cache memory and the local memory.
  • the components 301 to 303, 305, 307, and 308 are equivalent to the components 101 to 103, 105, 107, and 108 of the first embodiment.
  • a graphic controller 304 information processing means
  • a VRAM measuring unit 306 that measures the state of the VRAM in the built-in memory 302 and the external memory 303.
  • control unit 305 performs initial allocation between the cache memory and the local memory in the internal memory 302 (S301), and then updates and updates the size of the VRAM at regular intervals (S302). The number of times is measured (S303).
  • the control unit 305 determines the allocation size of the cache memory and the local memory using the table shown in FIG. 5 based on the size of the VRAM and the number of updates (S304).
  • the memory access frequency of the graphic controller 304 decreases as the VRAM size is small and the number of updates is small, and conversely increases as the VRAM size is large and the number of updates is large.
  • the local memory allocation of the VRAM may be increased. Therefore, the table is configured such that the size of the VRAM is large, the size of the local memory is large when the number of updates is large, the size of the VRAM is large, and the size of the local memory is small when the number of updates is large.
  • the subsequent control is equivalent to the control (S205 to S209) of the second embodiment, except that the bus master device 204 of the second embodiment is replaced with the graphic controller 304.
  • the configuration of the internal memory 302 can be changed from the state of the VRAM, when the screen size is large and the number of drawing updates is large, the cache memory is reduced and the local memory is reduced.
  • the access performance of the VRAM can be improved, and the drawing performance of the graphic controller 304 can be kept above a certain level.
  • the drawing performance of the graphic controller 304 may be low, the local memory allocated as VRAM is reduced, the cache memory is increased, and the processing speed of the CPU 301 is improved. be able to.
  • FIG. 9 is a schematic configuration diagram of the information processing apparatus according to Embodiment 4 of the present invention
  • FIG. 10 is a flowchart for explaining the operation of the information processing apparatus
  • FIG. 11 is a table showing the configurations of the cache memory and the local memory.
  • the components 401 to 405, 407, and 408 are equivalent to the components 101 to 105, 107, and 108 of the first embodiment.
  • a process measurement unit 406 that measures the process state from the CPU 401, the built-in memory 402, and the external memory 403 is provided.
  • the process measurement unit 406 is configured to measure the state of the process by measuring the CPU 401, the built-in memory 402, and the external memory 403 by the OS executed by the CPU 401.
  • control unit 405 performs initial allocation of the cache memory and the local memory of the built-in memory 402 (S401), and monitors changes in the process state (S402). When a change in the process state is detected, the execution process and the state of the process are measured (S403).
  • the control unit 405 determines the allocation size of the cache memory and the local memory using the table shown in the figure based on the execution process and the state of the process (404).
  • the memory access of the CPU 401 varies depending on the process being executed, and also varies depending on the state of the same process.
  • the process that performs the polling process occupies the CPU 401 for a long time, but does not use the memory, so the cache memory may be small. Therefore, the table is configured so that the cache memory size is large in the execution and process state of a process with a large memory access, and the cache memory size is small in the execution and process state of a process with a small memory access. Yes.
  • the subsequent control (S405 to S409) is equivalent to the control (S205 to S209) of the second embodiment.
  • the configuration of the built-in memory 402 can be changed from the state of the process. Therefore, the cache memory is increased and the local memory is decreased during the execution of a process with many memory accesses. The memory access performance can be improved. In addition, when the process is executed with less memory access, the cache memory size can be reduced, the local memory can be increased, and the bus master device 404 can be released.
  • FIG. 12 is a schematic configuration diagram of an information processing apparatus according to Embodiment 5 of the present invention
  • FIG. 13 is a flowchart for explaining the operation of the information processing apparatus.
  • the components 501 to 505, 507, and 508 are equivalent to the components 101 to 105, 107, and 108 of the first embodiment.
  • a bus measurement unit 506 that measures the external bus 507 and the internal bus 508 is provided.
  • the bus measurement unit 506 is configured to monitor the signal lines of the external bus 507 and the internal bus 508, and count the bus masters (including the CPU 501) that occupy the bus at regular intervals to measure the bus occupancy rate. Is done.
  • control unit 505 performs initial allocation between the cache memory and the local memory in the built-in memory 502 (S501), and then the bus occupancy of each bus master at regular time intervals (S502). The rate is measured (S503).
  • the control unit 505 distributes the memory area used by each bus master to the internal memory 502 and the external memory 503 based on the bus occupancy rate of each bus master. At this time, since the built-in memory 502 has higher performance, it is preferentially assigned to the built-in memory 502 to a bus master having a high bus occupancy rate and frequently accessing the memory.
  • the bus master using the internal memory 502 is the CPU 501
  • the use area is allocated to the cache, and when it is another bus master device 504, it is allocated as a local memory. If the size or bandwidth of the internal memory 502 is insufficient, an area of the external memory 503 is allocated (S504).
  • the subsequent control (S505 to S509) is equivalent to the control (S205 to S209) of the second embodiment.
  • the configuration of the internal memory 502 is changed based on the bus usage status, the bus occupation is distributed to the internal bus 508 and the external bus 507, and the bus master does not have sufficient bus bandwidth. It is possible to improve the reduction in processing speed when performance cannot be achieved and to preferentially use the high-performance built-in memory 502.
  • bus measuring unit 506. there may be a plurality of bus master devices measured by the bus measuring unit 506. In this way, it is possible to improve the processing speed reduction when the buses used by a plurality of bus master devices such as DSP and DMA compete and performance cannot be achieved.
  • FIG. 14 is a schematic configuration diagram of the information processing apparatus according to Embodiment 6 of the present invention
  • FIG. 15 is a flowchart for explaining the operation of the information processing apparatus.
  • the components 601 to 605, 607, and 608 are equivalent to the components 101 to 105, 107, and 108 of the first embodiment.
  • a working set measuring unit 606 that measures the working set of the CPU 601 from the internal bus 608 is provided.
  • the working set measuring unit 606 is configured to count the address signals of the internal bus 608 every predetermined time and measure the working set during that time.
  • control unit 605 performs initial allocation of the cache memory and the local memory of the built-in memory 602 (S601), and then measures the working set at regular time intervals (S602). (S603).
  • the control unit 605 compares the working set of the CPU 601 with the size of the built-in memory 602 (S604). If the working set is equal to or smaller than the size of the built-in memory 602, the cache memory size is the same as the working set, and the rest is stored in the local memory. If the working set exceeds the size of the built-in memory 602, the size of the cache memory is determined to be 0 for all the built-in memories 602 and the local memory.
  • the subsequent control (S607 to S611) is equivalent to the control (S205 to S209) of the second embodiment.
  • the configuration of the built-in memory 602 can be changed from the working set, so that only the necessary cache memory can be allocated to the CPU 601 and the processing speed of the CPU 601 can be improved. . Further, by assigning an unnecessary cache to the local memory, it can be released to another bus master device 604.
  • FIG. 16 is a schematic configuration diagram of an information processing apparatus according to Embodiment 7 of the present invention
  • FIG. 17 is a flowchart for explaining the operation of the information processing apparatus
  • FIG. 18 is a table showing the configuration of state transition, cache memory, and local memory. is there.
  • the components 701 to 705, 707, and 708 are equivalent to the components 101 to 105, 107, and 108 of the first embodiment.
  • Various peripherals 710, an interrupt controller 709 that generates an interrupt from the signals of the various peripherals 710 to the CPU 701, and an interrupt measurement unit 706 that measures an interrupt generated by the interrupt controller 710 are provided.
  • control unit 705 performs initial allocation between the cache memory and the local memory in the built-in memory 702 (S701), and then the state of various peripherals 710 changes, and the interrupt controller 709 is changed.
  • the CPU 701 generates an interrupt (S702)
  • the interrupt type is measured (S703).
  • the control unit 705 performs state transition using a table from the current state and the interrupt type (S704), and determines the allocation size of the cache memory and the local memory (S705).
  • the table is configured to have an optimal memory configuration from the current state and the interrupt that has occurred. Examples are given below.
  • a key interrupt occurs when the information processing apparatus is in a power saving state, a large number of caches are allocated to the CPU 701 for the recovery process.
  • a key interrupt occurs while the information processing apparatus is in a moving image playback state, a certain size of the local memory used by the bus master device 704 such as a graphic controller or DSP is secured to ensure the memory access performance.
  • the subsequent control (S706 to S710) is equivalent to the control (S205 to S209) of the second embodiment.
  • the state of the information processing apparatus can be determined from the interrupt type, and the internal memory configuration suitable for the state can be maintained. Access performance can be secured.
  • the information processing apparatus includes a first storage unit that can be used by switching an arbitrary area as a local memory or a cache memory, a second storage unit that is different from the first storage unit, and the first storage unit. And a measuring unit for detecting a change in usage status of the second storage unit, a first changing unit for changing the configuration of the first storage unit based on the measurement result of the measuring unit, A moving means for moving data stored in the first storage means or the second storage means, and a second for changing the area of the first storage means or the second storage means used by the information processing means The changing means is provided.
  • control unit monitors the measurement result of the measurement unit and has the first changing unit, the moving unit, and the second changing unit, it can be changed from the state of the information processing apparatus to the optimum memory configuration.
  • processing performance can be ensured, such as information on mobile phones and PCs that perform real-time decoding of video and audio data and processing such as hibernation Useful for processing equipment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

 任意の領域をローカルメモリ又はキャッシュメモリとして切り替えて使用可能な内蔵メモリにおいて、従来の静的なメモリアクセスの解析でメモリ構成を決定する手法では、他のバスマスタデバイスの動作、省電力状態の変化、他のソフトの動作等によるメモリ利用効率の変化を検知し、最適なメモリ構成をとる事ができないという問題があった。本発明の情報処理装置は、内蔵メモリと外部メモリの利用状況の変化を検出するための計測部と、計測部の計測結果を監視し、内蔵メモリの構成を変更、内蔵メモリと外部メモリに格納されたデータを移動、CPUとその他のバスマスタデバイスの使用する内蔵メモリ又は外部メモリの領域を変更する制御部を備え、静的な解析では予測できない、メモリ利用効率の変化を検出し、最適なメモリ構成を維持することができる。

Description

情報処理装置
 本発明は、情報処理装置においてパフォーマンスを向上させるために用いるメモリ、バスの制御技術に関連する。
 従来、情報処理装置のキャッシュメモリには任意の領域をローカルメモリとして割り当てる手段を有し、処理内容に最適なメモリ構成をもつことが可能である内蔵メモリが知られている。(特許文献1)
 一般的に、内蔵メモリは外部接続のメモリと比較して高速、低消費電力であるため、内蔵メモリを有効に利用できるようにメモリ構成を変更することで情報処理装置のパフォーマンスは向上する。
 しかしながら、最適なメモリ構成は情報処理装置上で実行される処理の内容により異なるため、最適なメモリ構成を維持することは困難である。
 この最適なメモリ構成を維持するための手段としては、コンパイル時に処理内容を解析し、処理内容をいくつかのフェーズに分割し、各フェーズにおいて最適なメモリ構成を導き出し、メモリ構成を切り替えるコードを生成するという手法が知られている。(特許文献2)
日本国特開2001-331370号公報 日本国特開2008-102733号公報
 しかしながら、特許文献2に記載された手法は、コンパイル時の静的なメモリアクセスの解析であるため、生成されたプログラムが単独でCPUを占有し動作するシステムでは対応可能であるが、他のバスマスタデバイスの動作、省電力状態の変化、他のソフトの動作等によるメモリ利用効率の変化を検知し、最適なメモリ構成をとることができないという問題があった。
 例えば、キャッシュヒットによる性能向上が期待できる処理をCPU単体で行う場合は、内蔵メモリの大部分をキャッシュメモリとして利用することで処理速度の向上が期待できるが、他のバスマスタデバイスが頻繁にメモリにアクセスする処理を行っており、その処理がCPUの行っている処理よりも優先度の高い処理であるような場合。キャッシュメモリを開放してローカルメモリとして割り当て、そのバスマスタデバイスに使用させたほうが効率が良い。
 本発明は、このような従来の問題に鑑みてなされたものであり、予め、動作の予測できないメモリ利用効率の低下を動的に検知し、キャッシュメモリ、ローカルメモリの割り当てサイズを再構成することで、パフォーマンスを向上させることができる情報処理装置を提供するものである。
 本発明の情報処理装置は、システムオンチップの内蔵メモリ(第一の記憶手段)と、システムオンチップに接続された外部メモリ(第二の記憶手段)と、前記第一の記憶手段と前記第二の記憶手段の利用状況の変化を検出するための計測部と、前記計測部の計測結果を元に前記第一の記憶手段の構成を変更する第一の変更手段と、前記第一の記憶手段又は前記第二の記憶手段に格納されたデータを移動する移動手段と、CPUとその他のバスマスタデバイス(情報処理手段)が使用する前記第一の記憶手段又は前記第二の記憶手段の領域を変更する第二の変更手段を備える。
 この構成により、メモリの利用効率の変化を元に内蔵メモリの構成を動的に変更させ、CPUとその他のバスマスタデバイスに外部メモリよりも内蔵メモリを優先的に使用させることで処理速度、外部メモリのバスの逼迫、消費電力を改善することができる。
 この構成の計測部はキャッシュメモリのヒット率、アクセス数を計測する物であってもよい。この構成ではキャッシュメモリの不足から生じるCPU処理速度の低下を改善することができる。また、キャシュメモリが過剰な場合に、キャッシュメモリをローカルメモリとして他のバスマスタデバイスに開放することができる。
 この構成の計測部はCPUの負荷率、動作周波数を計測する物であってもよい。この構成ではCPUの稼動率が高くキャッシュメモリが不足している場合に、キャッシュメモリの不足から生じるCPU処理速度の低下を改善することができる。また、CPUの稼働率が低く、CPUに不要なキャッシュメモリが割り当てられている場合に、キャッシュメモリをローカルメモリとして他のバスマスタデバイスに開放することができる。
 この構成の計測部はVRAMサイズ、画面更新の頻度を計測する物であってもよい。この構成ではグラフィックコントローラのVRAM使用状況を検知し、VRAMのアクセス増加により表示性能が低下した場合に、ローカルメモリのサイズを増加し、VRAMとして使用させることで、表示性能の低下を改善することができる。また、ローカルメモリをVRAMとして使用中にVRAMサイズが減った場合に、ローカルメモリを他のバスマスタデバイスに開放、或いはキャッシュとしてCPUに開放することができる。
 この構成の計測部は実行しているプロセスの種別、プロセス内の状態変化を計測する物であってもよい。この構成ではCPUの実行しているソフウェアの変化から、メモリ利用効率を予測し最適なメモリ構成を持つことでCPU処理速度を向上させることができる。また、CPUが内蔵メモリをあまり必要としない状態では、キャッシュメモリをローカルメモリとして他のバスマスタデバイスに開放することができる。
 この構成の計測部はバス帯域の占有率を計測する物であってもよい。この構成ではバスの帯域が足りずに処理速度が落ちているバスマスタデバイス(CPU含む)へ内蔵メモリを使用させることで、これらの処理速度を向上させることができる。また、バス占有率が低いバスマスタデバイスが無駄に使用している内蔵メモリを他のバスマスタデバイスに開放することができる。
 この構成の計測部はCPUのワーキングセットを計測する物であってもよい。この構成ではワーキングセットの増加に応じて、CPUに多くのキャッシュメモリを割り当てることでCPUの処理速度を向上させることができる。また、ワーキングセットが減少した場合に、キャッシュメモリをローカルメモリとして他のバスマスタデバイスに開放することができる。
 この構成の計測部は割込みイベントを計測する物であってもよい。この構成ではイベントをトリガとしたメモリ使用状況の変化に対応し、最適なメモリ構成を維持することができる。
 本発明の情報処理装置に拠れば、静的な解析では予測できない、メモリ利用効率変化を検出し、動的に第一の記憶手段の構成を変更し、情報処理手段の使用するメモリ領域を移動、再配置し、最適なメモリ構成を維持することができる。このことにより、情報処理手段の処理速度の向上、バス帯域の負荷の軽減と消費電力の減少というパフォーマンスの向上を得ることができる。
本発明の実施の形態1における情報処理装置の概略構成図 本発明の実施の形態1における情報処理装置の動作を説明するフローチャート図 本発明の実施の形態2における情報処理装置の概略構成図 本発明の実施の形態2における情報処理装置の動作を説明するフローチャート図 本発明の実施の形態2における情報処理装置のメモリ構成テーブルを示す図 本発明の実施の形態3における情報処理装置の概略構成図 本発明の実施の形態3における情報処理装置の動作を説明するフローチャート図 本発明の実施の形態3における情報処理装置のメモリ構成テーブルを示す図 本発明の実施の形態4における情報処理装置の概略構成図 本発明の実施の形態4における情報処理装置の動作を説明するフローチャート図 本発明の実施の形態4における情報処理装置のメモリ構成テーブルを示す図 本発明の実施の形態5における情報処理装置の概略構成図 本発明の実施の形態5における情報処理装置の動作を説明するフローチャート図 本発明の実施の形態6における情報処理装置の概略構成図 本発明の実施の形態6における情報処理装置の動作を説明するフローチャート図 本発明の実施の形態7における情報処理装置の概略構成図 本発明の実施の形態7における情報処理装置の動作を説明するフローチャート図 本発明の実施の形態7における情報処理装置の状態遷移とメモリ構成のテーブルを示す図
 以下本発明の実施の形態について、図面を参照しながら説明する。
 (実施の形態1)
 図1は本発明の実施の形態1における情報処理装置の概略構成図、図2は同情報処理装置の動作を説明するフローチャートである。
 本発明の実施の形態1における情報処理装置は、図1に示すように、CPU101(情報処理手段)と、内蔵メモリ102(第一の記憶手段)と、外部メモリ103(第二の記憶手段)と、CPUではない他のバスマスタデバイス104(情報処理手段)と、内蔵メモリ102の状態を計測するキャッシュ計測部106と、制御部105(第一の変更手段、移動手段、第二の変更手段)と、CPU101と内蔵メモリ102を接続する内部バス108と、内蔵メモリ102とバスマスタデバイス104と外部メモリ103を接続する外部バス107とを備えている。
 そして、制御部105はキャッシュ計測部106の計測値を監視しメモリ利用効率の向上が期待できる場合に内蔵メモリ102のメモリ構成を変更する第一の変更手段と、メモリ構成を変更する際にCPU101とバスマスタデバイス104が使用している内蔵メモリ102と外部メモリ103のデータを移動する移動手段と、移動先の領域をCPU101とバスマスタデバイス104へ使用させる第二の変更手段を備えるように構成される。
 次に、本実施の形態について、その動作を、図2を用いて説明する。
 図2に示すように、情報処理装置の起動処理において、制御部105は内蔵メモリ102のキャシュメモリとローカルメモリの初期割り当てを行い(S101)、その後一定時間(S102)ごとにキャッシュヒット率を計測する(S103)。
 ここで、制御部105はキャッシュヒット率が一定以上の数値(例えば、90%以上)である場合は、キャッシュメモリのサイズが過剰である可能性があると判断されるため(S104)、キャッシュメモリを減らす処理を行う。次に、現在のキャッシュメモリ割り当てサイズを判定し(S105)、キャッシュメモリのサイズを減少させることができる(例えば、内蔵メモリ102のキャッシュ割り当てサイズが5%以下)場合は内蔵メモリ102の構成を変更しキャッシュメモリを(例えば、5%)減少させローカルメモリを増加させる(S106)。次に、新たに割り当てたローカルメモリを他のバスマスタデバイスに使用させるため現在バスマスタデバイス104が使用している外部メモリ103の領域のデータをローカルメモリへ移動し、バスマスタデバイス104の設定を変更しローカルメモリのデータの移動先の領域を使用させる。
 一方、制御部105はキャッシュヒット率が一定未満の数値(例えば、90%未満)である場合は、キャッシュメモリのサイズが不足している可能性があると判断されるため(S104)、キャッシュメモリを増加させる処理を行う。現在のキャッシュメモリ割り当てサイズを判定し(S108)、キャッシュメモリのサイズを増加させることができる(例えば、内蔵メモリ102のキャッシュ割り当てサイズが95%以下)場合はローカルメモリをキャッシュメモリに割り当てるため、現在バスマスタデバイス104が使用しているローカルメモリの領域のデータを外部メモリ103へ移動し、バスマスタデバイス104の設定を変更し外部メモリ103のデータの移動先の領域を使用させる(S109)。内蔵メモリ102の構成を変更しキャッシュサイズを(例えば、5%)増加させローカルメモリを減少させる(S110)。
 このように、本実施の形態によればキャッシュの利用効率から、内蔵メモリ102の構成を変更することができるため、キャッシュメモリサイズが不足している場合にキャッシュメモリを増加、ローカルメモリを減少させ、CPU101の処理速度を向上させることができる。また、過剰にキャッシュメモリが割り当てられている場合にキャッシュメモリサイズを減少、ローカルメモリを増加させ他のバスマスタデバイス104に開放することができる。
 (実施の形態2)
 図3は本発明の実施の形態2における情報処理装置の概略構成図、図4は同情報処理装置の動作を説明するフローチャート、図5はキャッシュメモリとローカルメモリの構成を示すテーブルである。
 本発明の実施の形態2における情報処理装置は、図3に示すように、構成要素201~205、207、208は実施の形態1の構成要素101~105、107、108と同等であるが、CPU201の状態を計測するCPU計測部206を備えている。
 次に、本実施の形態について、その動作を、図4を用いて説明する。
 図4に示すように、情報処理装置の起動処理において、制御部205は内蔵メモリ202のキャッシュメモリとローカルメモリの初期割り当てを行い(S201)、その後一定時間(S202)ごとにCPU周波数と負荷率を計測する(S203)。
 制御部205はCPU201の周波数と負荷率を元に図5で示すテーブルを用いてキャシュメモリとローカルメモリの割り当てサイズを決定する(S204)。ここで、CPU201の周波数と負荷率が低く、稼働率が低い状態であるほどCPU201のメモリアクセスの頻度は減少してキャッシュメモリは不要に、逆に周波数と負荷率が高く、稼働率が高い状態であるほどCPU201のメモリアクセスの頻度は増加しキャッシュメモリが必要になる。そのため、テーブルはCPU201の周波数と負荷率が高いとキャッシュメモリのサイズが大きく、CPU201の周波数と負荷率が低いとキャッシュメモリのサイズが小さくなるように、構成されている。
 次に、制御部205はキャッシュメモリの現在の割り当てサイズと今回決定したサイズを比較し(S205)、キャッシュメモリのサイズが減少する場合は内蔵メモリ202の構成を変更しキャッシュメモリを減少させローカルメモリを増加させる(S206)。新たに割り当てたローカルメモリを他のバスマスタデバイスに使用させるため現在バスマスタデバイス204が使用している外部メモリ203の領域のデータをローカルメモリへ移動し、バスマスタデバイス204の設定を変更しローカルメモリのデータの移動先の領域を使用させる(S207)。キャッシュメモリのサイズが増加する場合はローカルメモリをキャッシュに割り当てるため、現在バスマスタデバイス204が使用しているローカルメモリの領域のデータを外部メモリ203へ移動し、バスマスタデバイス204の設定を変更し外部メモリ203のデータの移動先の領域を使用させる(S208)。内蔵メモリ202の構成を変更しキャッシュサイズを増加させローカルメモリを減少させる(S209)。
 このように、本実施の形態によればCPU201の動作状況から、内蔵メモリ202の構成を変更することができるため、低消費電力状態で休止状態であるようなCPU201の稼動率が低くキャッシュメモリが必要でない場合にキャッシュメモリを減少、ローカルメモリを増加させ、他のバスマスタデバイス204に開放することができる。また、CPU201の稼働率が上がりCPU201がキャッシュメモリを必要とする場合に、ローカルメモリを減少、キャッシュメモリを増加させ、CPU201の処理速度を向上させることができる。
 (実施の形態3)
 図6は本発明の実施の形態3における情報処理装置の概略構成図、図7は同情報処理装置の動作を説明するフローチャート、図8はキャッシュメモリとローカルメモリの構成を示すテーブルである。
 本実施の形態における情報処理装置は、図6に示すように、構成要素301~303、305、307、308は実施の形態1の構成要素101~103、105、107、108と同等であるが、グラフィックコントローラ304(情報処理手段)と、内蔵メモリ302と外部メモリ303のVRAMの状態を計測するVRAM計測部306とを備えている。
 次に、本実施の形態について、その動作を、図7を用いて説明する。
 図7に示すように、情報処理装置の起動処理において、制御部305は内蔵メモリ302のキャッシュメモリとローカルメモリの初期割り当てを行い(S301)、その後一定時間(S302)ごとにVRAMのサイズと更新回数を計測する(S303)。
 制御部305はVRAMのサイズと更新回数を元に図5で示すテーブルを用いてキャシュメモリとローカルメモリの割り当てサイズを決定する(S304)。
 グラフィックコントローラ304のメモリアクセスの頻度はVRAMのサイズが小さく、更新回数が少ないほど減少し、逆にVRAMのサイズが大きく、更新回数が多いほど増加する。グラフィックコントローラ304のメモリアクセスが増加した場合にその描画性能の低下を防ぐには、VRAMのローカルメモリ割り当てを増加させればよい。そのため、テーブルはVRAMのサイズが大きく、更新回数が多いとローカルメモリのサイズが大きく、VRAMのサイズが大きく、更新回数が多いとローカルメモリのサイズが小さくなるように、構成されている。
 以降の制御(S305~S309)は実施の形態2のバスマスタデバイス204がグラフィックコントローラ304に置き換わっただけで、実施の形態2の制御(S205~S209)と同等である。
 このように、本実施の形態によればVRAMの状態から、内蔵メモリ302の構成を変更することができるため、画面サイズが大きく、描画更新回数が多い場合に、キャッシュメモリを減少、ローカルメモリを増加させてVRAMとして使用することで、VRAMのアクセス性能を向上させ、グラフィックコントローラ304の描画性能を一定以上に保つことができる。また、画面サイズが小さく、描画更新回数が少なくグラフィックコントローラ304の描画性能が低くても良い場合に、VRAMとして割り当てられているローカルメモリを減少、キャッシュメモリを増加させ、CPU301の処理速度を向上させることができる。
 (実施の形態4)
 図9は本発明の実施の形態4における情報処理装置の概略構成図、図10は同情報処理装置の動作を説明するフローチャート、図11はキャッシュメモリとローカルメモリの構成を示すテーブルである。
 本発明の実施の形態4における情報処理装置は、図9に示すように、構成要素401~405、407、408は実施の形態1の構成要素101~105、107、108と同等であるが、CPU401と内蔵メモリ402と外部メモリ403からプロセスの状態を計測するプロセス計測部406を備えている。
 プロセス計測部406はCPU401で実行されるOSにより、CPU401と内蔵メモリ402と外部メモリ403を計測することで、プロセスの状態を計測することができるよう構成される。
 次に、本実施の形態について、その動作を、図10を用いて説明する。
 図10に示すように、情報処理装置の起動処理において、制御部405は内蔵メモリ402のキャシュメモリとローカルメモリの初期割り当てを行い(S401)、プロセスの状態の変化を監視する(S402)。プロセス状態の変化を検出すると、実行プロセスとそのプロセスの状態を計測する(S403)。
 制御部405は実行プロセスとそのプロセスの状態を元に図で示すテーブルを用いてキャシュメモリとローカルメモリの割り当てサイズを決定する(404)。
 CPU401のメモリアクセスは実行しているプロセスにより異なり、また、同じプロセスでも、そのプロセスの状態によっても異なる。ポーリング処理を行っているプロセスはCPU401を長期に占有するにも関わらずメモリは使用しないため、キャッシュメモリは少なくてよい。そのため、テーブルはメモリアクセスが多いプロセスの実行、プロセスの状態では、キャッシュメモリのサイズが大きく、メモリアクセスが少ないプロセスの実行、プロセスの状態では、キャッシュメモリのサイズが小さくなるように、構成されている。
 以降の制御(S405~S409)は実施の形態2の制御(S205~S209)と同等である。
 このように、本実施の形態によればプロセスの状態から、内蔵メモリ402の構成を変更することができるため、メモリアクセスが多いプロセスの実行時にキャッシュメモリを増加、ローカルメモリを減少させ、そのプロセスのメモリアクセス性能を向上させることができる。また、メモリアクセスが少なくプロセスの実行時に、キャッシュメモリサイズを減少、ローカルメモリを増加させ他のバスマスタデバイス404に開放することができる。
 (実施の形態5)
 図12は本発明の実施の形態5における情報処理装置の概略構成図、図13は同情報処理装置の動作を説明するフローチャートである。
 本発明の実施の形態5における情報処理装置は、図12に示すように、構成要素501~505、507、508は実施の形態1の構成要素101~105、107、108と同等であるが、外部バス507と内部バス508を計測するバス計測部506を備えている。
 バス計測部506は外部バス507と内部バス508の信号線を監視し、一定時間毎にバスを占有しているバスマスタ(CPU501含む)を集計しバスの占有率を計測することができるように構成される。
 次に、本実施の形態について、その動作を、図13を用いて説明する。
 図13に示すように、情報処理装置の起動処理において、制御部505は内蔵メモリ502のキャシュメモリとローカルメモリの初期割り当てを行い(S501)、その後一定時間(S502)毎に各バスマスタのバス占有率を計測する(S503)。
 制御部505は各バスマスタのバス占有率から各バスマスタの使用するメモリ領域を内蔵メモリ502と外部メモリ503へ振り分ける。この際、内蔵メモリ502の方が高性能であることから、バス占有率が高くメモリに頻繁にアクセスするバスマスタに優先的に内蔵メモリ502に割り当てる。内蔵メモリ502を使用するバスマスタがCPU501である場合はその使用領域をキャッシュに、他のバスマスタデバイス504である場合は、ローカルメモリとして割り当てる。そして、内蔵メモリ502のサイズ又は帯域が足りない場合は、外部メモリ503の領域を割り当てる(S504)。
 以降の制御(S505~S509)は実施の形態2の制御(S205~S209)と同等である。
 このように、本実施の形態によればバスの利用状況から、内蔵メモリ502の構成を変更し、バスの占有を内部バス508と外部バス507へと分散させ、バス帯域が足りずにバスマスタの性能が出せない場合の処理速度低下を改善すること、高性能な内蔵メモリ502を優先的に使用することができる。
 なお、本実施の形態では、バス計測部506の計測するバスマスタデバイスは複数あっても良い。このようにすればDSPやDMA等複数のバスマスタデバイスの使用バスが競合し、性能が出せない場合の処理速度低下を改善することができる。
 (実施の形態6)
 図14は本発明の実施の形態6における情報処理装置の概略構成図、図15は同情報処理装置の動作を説明するフローチャートである。
 本発明の実施の形態6における情報処理装置は、図14に示すように、構成要素601~605、607、608は実施の形態1の構成要素101~105、107、108と同等であるが、内部バス608からCPU601のワーキングセットを計測するワーキングセット計測部606を備えている。
 ワーキングセット計測部606は内部バス608のアドレス信号を一定時間毎に集計しその間のワーキングセットを計測することができるよう構成される。
 次に、本実施の形態について、その動作を、図15を用いて説明する。
 図15に示すように、情報処理装置の起動処理において、制御部605は内蔵メモリ602のキャシュメモリとローカルメモリの初期割り当てを行い(S601)、その後一定時間(S602)ごとにワーキングセットを計測する(S603)。
 CPU601に割り当てるキャッシュメモリのサイズは、ワーキングセットのサイズ以上あっても無駄である。そのため、制御部605はCPU601のワーキングセットと内蔵メモリ602のサイズを比較し(S604)、ワーキングセットが内蔵メモリ602のサイズ以下である場合は、キャッシュメモリのサイズをワーキングセット同じ、残りをローカルメモリと決定し(S605)、ワーキングセットが内蔵メモリ602のサイズを超えている場合は、キャッシュメモリのサイズを内蔵メモリ602の全て、ローカルメモリは0と決定する。
 以降の制御(S607~S611)は実施の形態2の制御(S205~S209)と同等である。
 このように、本実施の形態によればワーキングセットから、内蔵メモリ602の構成を変更することができるため、必要な分だけのキャッシュメモリをCPU601へ割り当て、CPU601の処理速度を向上させることができる。また、不要なキャッシュをローカルメモリに割り当てることで、他のバスマスタデバイス604に開放することができる。
 (実施の形態7)
 図16は本発明の実施の形態7における情報処理装置の概略構成図、図17は同情報処理装置の動作を説明するフローチャート、図18は状態遷移とキャッシュメモリとローカルメモリの構成を示すテーブルである。
 本発明の実施の形態7における情報処理装置は、図16に示すように、構成要素701~705、707、708は実施の形態1の構成要素101~105、107、108と同等であるが、各種ペリフェラル710と、各種ペリフェラル710の信号からCPU701へ割り込みを発生させる割り込みコントローラ709と、割り込みコントローラ710の発生させる割り込みを計測する割り込み計測部706と、を備えている。
 次に、本実施の形態について、その動作を、図17を用いて説明する。
 図17に示すように、情報処理装置の起動処理において、制御部705は内蔵メモリ702のキャシュメモリとローカルメモリの初期割り当てを行い(S701)、その後各種ペリフェラル710の状態が変化し、割り込みコントローラ709がCPU701へ割り込みを発生させると(S702)、その割り込み種別を計測する(S703)。
 制御部705は現在の状態と割り込み種別からテーブルを用いて状態遷移を行い(S704)、キャシュメモリとローカルメモリの割り当てサイズを決定する(S705)。テーブルは現在の状態と発生した割り込みから、最適なメモリ構成を持つように構成される。以下に例を挙げる。情報処理装置が省電力状態で、キー割り込みが発生した場合、その復帰処理のため、CPU701に多くのキャッシュを割り当てる。一方、情報処理装置が動画再生状態で、キー割り込みが発生した場合は、グラフィックコントローラ、DSP等のバスマスタデバイス704のメモリアクセス性能を確保するためそれらの使用するローカルメモリのサイズを一定サイズ確保する。
 以降の制御(S706~S710)は実施の形態2の制御(S205~S209)と同等である。
 このように、本実施の形態によれば割り込み種別から、情報処理装置の状態を判定し、その状態に適した内蔵メモリの構成を維持することができるため、CPUとその他バスマスタの処理性能のメモリアクセス性能を確保することができる。
 本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。
 本出願は、2009年10月14日出願の日本特許出願(特願2009-236941)、に基づくものであり、その内容はここに参照として取り込まれる。
 本発明の情報処理装置は、任意の領域をローカルメモリ又はキャッシュメモリとして切り替えて使用可能な第一の記憶手段と、前記第一の記憶手段と異なる第二の記憶手段と、前記第一の記憶手段と前記第二の記憶手段の利用状況の変化を検出するための計測部と、前記計測部の計測結果を元に前記第一の記憶手段の構成を変更する第一の変更手段と、前記第一の記憶手段又は前記第二の記憶手段に格納されたデータを移動する移動手段と、情報処理手段が使用する前記第一の記憶手段又は前記第二の記憶手段の領域を変更する第二の変更手段を備える。
 制御部は計測部の計測結果を監視し、第一の変更手段と、移動手段、第二の変更手段を有するため、情報処理装置の状態から、最適なメモリ構成に変更することができる。
 したがって、メモリ利用状況が処理内容により大きく異なる情報処理装置においても、処理性能を確保することができ、動画や音声データのリアルタイムデコードや、休止状態等の処理を行う携帯電話や、PC等の情報処理装置に有用である。
 101、201、301、401、501、601、701  CPU
 102、202、302、402、502、602、702  内蔵メモリ
 103、203、303、403、503、603、703  外部メモリ
 104、204、404、504、604、704  バスマスタデバイス
 304  グラフィックコントローラ
 105、205、305、405、505、605、705  制御部
 106  キャッシュ計測部
 107、207、307、407、507、607、707  外部バス
 108、208、308、408、508、608,708  内部バス
 206  CPU計測部
 306  VRAM計測部
 406  プロセス計測部
 506  バス計測部
 606  ワーキングセット計測部
 706  割り込み計測部
 709  割り込みコントローラ
 710  各種ペリフェラル

Claims (16)

  1.  任意の領域をローカルメモリ又はキャッシュメモリとして切り替えて使用可能な第一の記憶手段と、
     前記第一の記憶手段と異なる第二の記憶手段と、
     前記第一の記憶手段と前記第二の記憶手段の利用状況の変化を検出するための計測部と、
     前記計測部の計測結果を元に前記第一の記憶手段の構成を変更する第一の変更手段と、
     前記第一の記憶手段又は前記第二の記憶手段に格納されたデータを移動する移動手段と、
     情報処理手段が使用する前記第一の記憶手段又は前記第二の記憶手段の領域を変更する第二の変更手段と、を有する情報処理装置。
  2.  前記移動手段は、前記第一の変更手段により前記第一の記憶手段の構成を変更した場合に、前記情報処理手段が使用している領域のデータを移動させ、
     前記第二の変更手段は、前記情報処理手段に移動先のデータ領域を使用させることを特徴とする請求項1記載の情報処理装置。
  3.  前記計測部が、CPUのメモリ利用効率を計測する手段を有する請求項1記載の情報処理装置。
  4.  前記CPUのメモリ利用効率を計測する手段が、キャッシュの利用効率を計測する手段であることを特徴とする請求項3記載の情報処理装置。
  5.  前記キャッシュの利用効率を計測する手段は、キャッシュヒット率、またはキャッシュアクセス数を計測することを特徴とする請求項4記載の情報処理装置。
  6.  前記CPUのメモリ利用効率を計測する手段が、CPUの状態を計測する手段であることを特徴とする請求項3記載の情報処理装置。
  7.  前記CPUの状態を計測する手段は、CPUの負荷率、または周波数を計測することを特徴とする請求項6記載の情報処理装置。
  8.  前記CPUのメモリ利用効率を計測する手段が、ソフトウェアの状態を計測する手段であることを特徴とする請求項3記載の情報処理装置。
  9.  前記ソフトウェアの状態を計測する手段は、実行されているプロセス、または実行されているプロセス内部の状態を計測することを特徴とする請求項8記載の情報処理装置。
  10.  前記CPUのメモリ利用効率を計測する手段が、ワーキングセットサイズを計測する手段であることを特徴とする請求項3記載の情報処理装置。
  11.  前記計測部が、バスの利用効率を計測する手段を有する請求項1記載の情報処理装置。
  12.  前記バスの利用効率を計測する手段が、表示状態を計測する手段であることを特徴とする請求項11記載の情報処理装置。
  13.  前記表示状態を計測する手段は、VRAMサイズ、または表示更新頻度を計測することを特徴とする請求項12記載の情報処理装置。
  14.  前記バスの利用効率を計測する手段が、バス占有率を計測する手段であることを特徴とする請求項11記載の情報処理装置。
  15.  前記計測部が、各種イベントを計測する手段を有する請求項1記載の情報処理装置。
  16.  前記各種イベントを計測する手段が、割込みを計測する手段であることを特徴とする請求項15記載の情報処理装置。
PCT/JP2010/006098 2009-10-14 2010-10-13 情報処理装置 WO2011045931A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011536042A JPWO2011045931A1 (ja) 2009-10-14 2010-10-13 情報処理装置
CN2010800465615A CN102713867A (zh) 2009-10-14 2010-10-13 信息处理设备
US13/500,494 US20120198159A1 (en) 2009-10-14 2010-10-13 Information processing device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-236941 2009-10-14
JP2009236941 2009-10-14

Publications (1)

Publication Number Publication Date
WO2011045931A1 true WO2011045931A1 (ja) 2011-04-21

Family

ID=43875986

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/006098 WO2011045931A1 (ja) 2009-10-14 2010-10-13 情報処理装置

Country Status (4)

Country Link
US (1) US20120198159A1 (ja)
JP (1) JPWO2011045931A1 (ja)
CN (1) CN102713867A (ja)
WO (1) WO2011045931A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013058049A (ja) * 2011-09-07 2013-03-28 Nec Corp I/oデバイス共有システム、i/oデバイス共有方法、及びプログラム
JP2015064863A (ja) * 2013-08-26 2015-04-09 富士ゼロックス株式会社 情報処理装置、演算処理装置及びプログラム
WO2015132877A1 (ja) * 2014-03-04 2015-09-11 株式会社日立製作所 計算機およびメモリ制御方法
JP2016181030A (ja) * 2015-03-23 2016-10-13 富士通株式会社 情報処理装置、記憶装置制御方法、記憶装置制御プログラム及び情報処理システム
JP2017527884A (ja) * 2014-07-17 2017-09-21 クアルコム,インコーポレイテッド セットおよびウェイによるコンポーネントキャッシュへの柔軟なキャッシュパーティショニングのための方法および装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819313B (zh) * 2012-07-17 2015-05-06 腾讯科技(深圳)有限公司 终端设备的运行方法和终端设备
US9455913B2 (en) * 2013-02-15 2016-09-27 Broadcom Corporation Management of traffic buffering in internal and external memories in a passive optical network
US20150026406A1 (en) * 2013-07-19 2015-01-22 Advanced Micro Devices, Inc. Size adjusting caches by way
US9436608B1 (en) 2015-02-12 2016-09-06 International Business Machines Corporation Memory nest efficiency with cache demand generation
US10552327B2 (en) 2016-08-23 2020-02-04 Apple Inc. Automatic cache partitioning
CN110582003B (zh) * 2019-01-12 2020-10-27 安徽省安泰科技股份有限公司 兼容性大数据采集终端
US20230094030A1 (en) * 2021-09-30 2023-03-30 Advanced Micro Devices, Inc. Cache resizing based on processor workload

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0934776A (ja) * 1995-07-21 1997-02-07 Sony Computer Entertainment:Kk 情報処理装置および方法
JPH0950401A (ja) * 1995-08-09 1997-02-18 Toshiba Corp キャッシュメモリ及びそれを備えた情報処理装置
JP3071752B2 (ja) * 1998-03-24 2000-07-31 三菱電機株式会社 ブリッジ方法、バスブリッジ及びマルチプロセッサシステム
JP3516326B2 (ja) * 1997-03-13 2004-04-05 株式会社日立製作所 共有キャッシュメモリを有するメモリコントローラ及びこれを備えたコンピュータシステム
JP3822885B2 (ja) * 1994-09-09 2006-09-20 株式会社ルネサステクノロジ 1チップデータプロセッサ
JP2008077255A (ja) * 2006-09-20 2008-04-03 Nec Corp 携帯端末装置及びそれに用いるメモリ管理方法並びにそのプログラム
JP2008234074A (ja) * 2007-03-16 2008-10-02 Fujitsu Ltd キャッシュ装置
WO2008155822A1 (ja) * 2007-06-19 2008-12-24 Fujitsu Limited キャッシュ制御装置及び制御方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136110B2 (en) * 2000-06-14 2006-11-14 Canon Kabushiki Kaisha Image signal processing apparatus
US6678814B2 (en) * 2001-06-29 2004-01-13 International Business Machines Corporation Method and apparatus for allocating data usages within an embedded dynamic random access memory device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3822885B2 (ja) * 1994-09-09 2006-09-20 株式会社ルネサステクノロジ 1チップデータプロセッサ
JPH0934776A (ja) * 1995-07-21 1997-02-07 Sony Computer Entertainment:Kk 情報処理装置および方法
JPH0950401A (ja) * 1995-08-09 1997-02-18 Toshiba Corp キャッシュメモリ及びそれを備えた情報処理装置
JP3516326B2 (ja) * 1997-03-13 2004-04-05 株式会社日立製作所 共有キャッシュメモリを有するメモリコントローラ及びこれを備えたコンピュータシステム
JP3071752B2 (ja) * 1998-03-24 2000-07-31 三菱電機株式会社 ブリッジ方法、バスブリッジ及びマルチプロセッサシステム
JP2008077255A (ja) * 2006-09-20 2008-04-03 Nec Corp 携帯端末装置及びそれに用いるメモリ管理方法並びにそのプログラム
JP2008234074A (ja) * 2007-03-16 2008-10-02 Fujitsu Ltd キャッシュ装置
WO2008155822A1 (ja) * 2007-06-19 2008-12-24 Fujitsu Limited キャッシュ制御装置及び制御方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013058049A (ja) * 2011-09-07 2013-03-28 Nec Corp I/oデバイス共有システム、i/oデバイス共有方法、及びプログラム
JP2015064863A (ja) * 2013-08-26 2015-04-09 富士ゼロックス株式会社 情報処理装置、演算処理装置及びプログラム
WO2015132877A1 (ja) * 2014-03-04 2015-09-11 株式会社日立製作所 計算機およびメモリ制御方法
US9588896B2 (en) 2014-03-04 2017-03-07 Hitachi, Ltd. Computer and memory control method
JPWO2015132877A1 (ja) * 2014-03-04 2017-03-30 株式会社日立製作所 計算機およびメモリ制御方法
JP2017527884A (ja) * 2014-07-17 2017-09-21 クアルコム,インコーポレイテッド セットおよびウェイによるコンポーネントキャッシュへの柔軟なキャッシュパーティショニングのための方法および装置
JP2016181030A (ja) * 2015-03-23 2016-10-13 富士通株式会社 情報処理装置、記憶装置制御方法、記憶装置制御プログラム及び情報処理システム

Also Published As

Publication number Publication date
CN102713867A (zh) 2012-10-03
JPWO2011045931A1 (ja) 2013-03-04
US20120198159A1 (en) 2012-08-02

Similar Documents

Publication Publication Date Title
WO2011045931A1 (ja) 情報処理装置
EP1691288B1 (en) Memory management for a mobile multimedia processor
KR102114388B1 (ko) 전자 장치의 메모리 압축 방법 및 장치
EP2513748B1 (en) Power efficient memory
EP3872604B1 (en) Hardware automatic performance state transitions in system on processor sleep and wake events
JP6038699B2 (ja) 電子機器
EP3602310B1 (en) Power-conserving cache memory usage
US9601180B2 (en) Automatic partial array self-refresh
WO2012014285A1 (ja) 割込制御方法、マルチコアプロセッサシステム、および割込制御プログラム
JP2012022616A (ja) 共有メモリシステム及びその制御方法
JP2008234320A (ja) キャッシュ制御回路
US7944770B2 (en) Static random access memory system and control method for static random access memory system
KR102117511B1 (ko) 프로세서 및 메모리 제어 방법
JP2009251713A (ja) キャッシュメモリ制御装置
JP2008262451A (ja) メモリ電源管理装置及びメモリ電源管理方法
US20140351546A1 (en) Method and apparatus for mapping a physical memory having a plurality of memory regions
JP5783348B2 (ja) 制御装置、制御プログラム、画像形成装置
CN110888749B (zh) 电子设备中执行任务级高速缓存管理的方法和装置
US20170322614A1 (en) Power management techniques
JP5505195B2 (ja) メモリの制御装置、及び制御方法
JP2008165318A (ja) 計算機システム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080046561.5

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10823199

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2011536042

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13500494

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10823199

Country of ref document: EP

Kind code of ref document: A1