WO2006101113A1 - キャッシュメモリ制御方法およびキャッシュメモリ制御装置 - Google Patents
キャッシュメモリ制御方法およびキャッシュメモリ制御装置 Download PDFInfo
- Publication number
- WO2006101113A1 WO2006101113A1 PCT/JP2006/305676 JP2006305676W WO2006101113A1 WO 2006101113 A1 WO2006101113 A1 WO 2006101113A1 JP 2006305676 W JP2006305676 W JP 2006305676W WO 2006101113 A1 WO2006101113 A1 WO 2006101113A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cache
- memory
- hit
- access
- way
- Prior art date
Links
Classifications
-
- 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
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- 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
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/608—Details relating to cache mapping
- G06F2212/6082—Way prediction in set-associative cache
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present invention relates to a cache memory control method and cache memory control apparatus in a microprocessor equipped with a cache memory.
- a cache memory is mounted to conceal an execution penalty in accessing external memory. Also, in a system equipped with a recent microprocessor, in order to improve program execution performance, a multiprocessor system equipped with a plurality of processor cores or a single processor can efficiently execute a plurality of programs. Processors capable of multithreading are being adopted
- a memory used to execute a plurality of programs often shares one memory space. Also for the above cache memory, it is often the case that each processor and each thread share a single cache memory or cache memory system rather than having separate cache memories.
- a cache memory is in a set-associative configuration having a plurality of ways.
- a program accesses a cache memory, it is usually determined by accessing all ways whether the access address makes a cache hit or a cache miss.
- processors that perform multi-processor and multi-thread processing there is a method of assigning cache ways as they do not affect programs of data strength that each program caches! In this case, in the case of a cache miss, data is refilled to the way assigned to each program, so there is a high probability that a way that makes a cache hit in each program is the assigned way.
- Patent Document 1 In order to reduce the power consumption at the time of cache access, a method of performing cache hit / miss determination only on the way accessed last or accessing only the data array to the way accessed last (Patent Document 1) There is. However, this method is effective only when the address changes sequentially, such as instruction fetch. In addition, in the case of a multiprocessor system or a processor that performs multi-thread processing, the instruction fetch address of the V program being processed in parallel may not be continuous or the data access address may be continuous! Can not.
- Patent Document 1 Japanese Patent Application Laid-Open No. 11 39216
- the above cache memory can be assigned to multiple processors or shared cache memory accessed by threads. Since there is a high probability that the assigned way is hit, it will consume unnecessary power if the hit / miss determination is simultaneously performed on all ways.
- an object of the present invention is to provide a cache memory control method and a cache memory control device capable of reducing power consumption associated with cache hit / miss determination.
- whether or not cache refilling is set in advance for each memory unit is set in advance for a cache memory composed of at least two memory units.
- the memory unit for which cache refill is set to be permitted out of the memory is selectively accessed to perform the first cache hit / miss determination, and access to the cache memory at the time of cache hit (cache refill is allowed Exit with only access to the set memory unit.
- the first cache hit / miss determination is selectively performed on the memory unit of the cache memory for which cache refill is set to be possible, and the cache memory is checked when the cache hit is determined.
- Access to a unit of memory (cache refill is enabled) Since it is terminated only by access, it is possible to reduce the power consumption associated with the cache hit / miss determination.
- a memory unit for which cache refilling is set to be possible has a high probability of cache hit, it is effective to use power consumption that has a high probability of ending only by accessing a memory unit for which cache refilling is set to be possible. Can be reduced to
- a cache miss occurs as a result of the first cache hit / miss determination
- a memory unit in the cache memory for which cache refill is not performed is selectively accessed.
- the second cache hit / miss determination is performed.
- the second cache hit / miss determination is performed on the memory unit for which cache refilling has been denied, so that each cache unit is accessed and accessed by a plurality of accesses having different memory units. Even in the memory, it is possible to cache the same address space.
- the cache memory control method of the present invention when the cache hit is determined as a result of the first cache hit / miss determination, all the memory units of the cache memory are accessed and the second is executed. Let's make a cache hit / miss decision.
- the second cache hit / miss determination is performed for all the memory units, so even if each is permitted, even if the memory unit is a cache memory accessed by different accesses. , Can cache the same address space
- the cache memory is accessed from at least two access sources, and cache refill is enabled or disabled in advance for each memory unit corresponding to each of at least two access sources.
- the cache memory control device comprises a cache memory having at least two memory units, a cache refillability setting unit for setting cache refillability for each memory unit, and a cache refillability setting.
- Memory unit selecting means capable of selectively accessing a memory unit of the cache memory set as cache refillable by the cache refillability setting unit according to the setting state of the unit, and memory set as cache refillable
- the first cache memory for the unit A hit miss control unit is provided to execute a hit miss determination and to end access to the cache memory (only by accessing a memory unit for which cache fill is set) when a cache hit occurs.
- the first cache hit / miss determination is selectively performed on a memory unit of the cache memory for which cache refill is set to be possible, and when the cache hit is determined, the cache memory is Since the access is completed (only by accessing the memory unit for which cache refill is set to be enabled), it is possible to reduce the power consumption associated with the cache hit / miss determination. Moreover, since a memory unit for which cache refilling is set to be possible has a high probability of cache hit, it is effective to use power consumption that has a high probability of ending only by accessing a memory unit for which cache refilling is set to be possible. Can be reduced to
- the memory unit selecting means selectively selects a memory unit of the cache memory for which cache refill is rejected when it is determined by the hit miss control unit that there is a cache miss.
- the hit / miss control unit makes a second cache hit / miss determination on the memory unit for which the cache refill has been denied.
- the second cache hit / miss determination is performed on the memory unit for which cache refilling has been denied, so that each cache unit is accessed and accessed by a plurality of accesses having different memory units. Even in the memory, it is possible to cache the same address space.
- the memory unit selection means enables access to all memory units of the cache memory when the hit miss control unit determines that the cache miss occurs, and the hit miss is generated.
- the control unit may make the second cache hit / miss determination for every memory unit of the cache memory.
- the cache memory is small. Both access source powers are accessed, and the cache refill availability setting unit is set in advance whether cache refill availability is set for each memory unit corresponding to each of at least two access sources.
- the cache refill availability setting unit has a register for setting the availability of cache refill for each memory unit, and that the value of the register can be changed by software.
- the cache memory control unit refills each processor or thread in a system equipped with a shared cache memory and a CPU (Central Processing Unit) that performs multi-processor and multi-thread processing. If ways can be assigned, cache access power can be reduced without degrading the performance of cache access cycles.
- CPU Central Processing Unit
- FIG. 1 is a block diagram showing a system configuration of a cache memory control device in a first embodiment of the present invention.
- FIG. 2 is a flowchart of cache access in Embodiment 1 of the present invention.
- FIG. 3 is a timing diagram (a hit in an allocation way) of the cache memory control device in the first embodiment of the present invention.
- FIG. 4 is a timing diagram (a hit other than the assignment way) of the cache memory control device in the first embodiment of the present invention.
- FIG. 5 is a flowchart of cache access in Embodiment 2 of the present invention.
- FIG. 6 is a timing diagram of a cache memory control device in a second embodiment of the present invention.
- FIG. 7 is a block diagram showing a system configuration of a cache memory control unit in a third embodiment of the present invention. Explanation of sign
- FIG. 1 shows a system configuration diagram of a cache memory control device in the first embodiment.
- Figure 1 shows the functional units required for cache hit operation during read access.
- CPU1 (1-1) and CPU2 (1-2) share the cache memory (14) by the cache control unit (13) and operate.
- the code (15) indicates the access arbitration control unit
- the code (16) indicates the refill permission way setting unit
- the code (17) indicates the CS.
- Chip Select A signal generation unit is shown
- a code (18) indicates a hit / miss control unit.
- the code (143) indicates the permission setting register 1
- the code (144) indicates the permission setting register 2.
- the code (141) indicates a BCU (Bus Control Unit) which is a bus control unit
- the code (1-42 indicates an IO (Input / Output) bus).
- the code (19) indicates the queue 1
- the code (110) indicates the tie 2
- the code (1-11) indicates the way 3
- the code (1- 12) shows way 4.
- the code (1-13) indicates a CPU 1 request
- the code (1-14) indicates a CPU 1 ID
- the code (1-15) indicates a CPU 1 address
- the code (1-16) indicates a CPU2 request
- the code (1-17) indicates a CPU2 ID
- the code (1-18) indicates a CPU2 address.
- the code (1-19) indicates the access address by the cache control unit (13).
- the code (120) indicates the way ICS signal
- the code (121) indicates the way 2 CS signal
- the code (1-22) indicates the way 3 CS signal
- the code (1-23) indicates the way 4 CS.
- the CS signal of each tie that is, each signal indicated by symbols (120) to (123) is a negative logic signal.
- the code (1-24) indicates the way 1 hit signal
- the code (1-25) indicates the way 2 hit signal
- the code (1-26) indicates the way 3 hit signal
- the code (1-27) indicates Indicates a way 4 hit signal.
- the code (128) indicates a data select signal.
- the code (129) indicates way 1 data
- the code (1-30) indicates way 2 data
- the code (131) indicates way 3 data
- the code (1-32) indicates way 4 data. Show.
- Signs (1-33) indicate cache read data.
- the code (134) indicates a way selector.
- the code (135) indicates an access end signal.
- the code (136) indicates the CPU1 acknowledgement, and the code (137) indicates the CPU2 acknowledgement.
- the code (1-38) indicates a clock.
- the code (1-39) indicates an access ID.
- the code (1-40) indicates refill permission information.
- the access arbitration control unit (1-5) of the cache control unit (13) arbitrates which CPU should be accessed from An access ID (1 to 39) to perform cache access is generated from the ID of the CPU that received the.
- the ID of the CPU that received the process is the access ID (1- 39). It becomes.
- the cache control unit (13) selects, for example, the CPU 1 address (115) according to the access ID (1-39) and sends it to the cache memory (1-4).
- the cache control unit (13) has a refill permission way setting unit (16), and it is determined which program is being executed by CPU 1 (1-1) and CPU 2 (1-2). There is an enable setting register 1 (1 43) and an enable setting register 2 (1-44) that set whether to enable refilling.
- the permission setting register 1 (1-43) holds the setting for CPU 1 (1-1), and the permission setting register 2 holds the setting for CPU 2.
- the permission setting register 1 (1-4 3) and the permission setting register 2 (1-43) are also accessible to the BCU (1-41) via the 10 bus (1-42). Can be set freely.
- the cache memory (1 to 4) has a set associative configuration.
- the figure shows the cache memory (1-4) in a 4-way set-associative configuration.
- cache memory (1-4) consists of 4 memory blocks (way 1 (1 9), way 2 (1-10), way 3 (1-11) and way 4 (1-12) Memory unit) Configured. Each way consists of a tag memory holding tag data and a data memory holding data.
- Access to each way is executed by inputting a CS signal generation unit (1-7) power CS signal.
- the CS signal generation unit (17) generates and inputs the way ICS signal (120) to the way 1 (19).
- Way 1 (1 to 9) to which the CS signal is input performs cache hit / miss judgment on the access address (1 to 19), CPU1 address (1 to 15) in this example, and the way 1 hit signal Output 1-24) to the hit / miss control unit (1-8).
- the way 1 data (1-29) is output from the data memory in way 1.
- the other wies operate in the same way.
- the hit / miss control unit (1-8) has a way 1 hit signal (1-24), a way 2 hit signal (1-25), a way 3 hit signal (1-26), and a way 4 hit signal (1 27) In response to any of the hit signals being asserted, it is judged as a cache hit, and a data select signal (128) is output.
- the hit / miss control unit (1-8) outputs the access end signal (135) simultaneously with the output of the data select signal (1-28), and the access arbitration control unit (1-5) ), And the access arbitration control unit (1-5) does not access the access ID (1 Based on 39), output CPU1 (1-36) or CPU2 (1-37).
- the way selector (1-34) receives the data select signal (1-28) as described above, selects the data of the hit way, and selects the cache read data (1-33) as the CPU 1 (1-3). Output to 1) and CP U2 (l-2).
- FIG. 2 shows a flowchart of cache access in the first embodiment of the present invention.
- the access arbitration control unit (15) determines the CPU to receive the access, generates an access ID (1-39), and caches Start access.
- refill permission information (140) is output from refill permission way setting unit (16) to CS signal generation unit (17) based on access ID (1-39).
- Ru If CPU 1 (1-1) is received, the content of permission setting register 1 (1 43) is accepted If CPU2 (1-2) is received, the content of permission setting register 2 (1-44) indicates refill permission It is output as information (1-40).
- the CS signal generation unit (1-7) generates a CS signal only for the assigned way, and access is performed for the way assigned thereby (step 2-1).
- the way in which the access has been performed performs hit miss determination, and returns a hit signal, which is the result of the hit miss determination, to the hit miss control unit (18).
- the hit / miss control unit (18) performs the first hit / miss judgment (step 2-2).
- the hit / miss control unit (1-8) determines that it is a hit, and outputs data of the hit way (step 2-6), and then accesses Exit (Step 2-7).
- the CS signal generation unit (17) permits the refill permission way setting unit (16).
- the CS signal is generated for the remaining way allocated by the setting register 1 (1 43) and the second access is performed (step 2-3).
- the way to which the second access has been performed returns a hit signal, which is the result of the hit / miss determination, to the hit / miss control unit (18).
- the hit / miss control unit (1 8) the second hit / miss determination is performed Step 2-4). If a hit signal is asserted for any of the way forces, it is determined to be a hit, and data on the hit way is output (step 2-6), and then access is terminated (step 2-7).
- Step 2-4 If the second hit / miss determination (Step 2-4) is a miss, processing of refill from the external memory is started (Step 2-5).
- FIG. 3 is a timing diagram according to the first embodiment, and is a timing diagram when a hit occurs in an assigned way. The figure shows the case where CPU 1 (1-1) has made an access.
- the refill permission way setting unit (16) outputs “0011” to the CS signal generation unit (1-7) as the refill permission information (140) from the access ID (1-39).
- refill permission information (1-40) indicates that each bit corresponds to each way, and 1 indicates that it is permitted.
- the CS signal generation unit (1-7) generates the CS signal of ways 1 and 2 only, asserts way ICS signal (1-20) and way 2 CS signal (1-21), and way 3 CS Do not assert signal (1-22), way 4 CS signal (1-23)!
- Way 1 (1 9) and way 2 (1-10) to which the CS signal is input perform hit / miss judgment on the access address (1-19), and in cycle 3-2, way 1
- the hit signal (1-24) and the way 2 hit signal (1-25) are output.
- FIG. 3 shows the case where the way 1 is hit.
- the hit / miss control unit (1-8) sees the way 1 hit signal (1-24) and the way 2 hit signal (1-25), determines that the way 1 is hit, and the access end signal (1 -35) is output and cache control is finished. At the same time, it outputs a signal to select way 1 as the data select signal (128).
- the access arbitration control unit (1 5) the access end signal (1 35) and the access ID (1-39)
- CPU 1 acknowledge (1-36) is asserted.
- the way selector (1 to 34) looks at the data select signal (1 to 28) and the way 1 data (1
- the number of cycles until the end of access does not change in the case of all way access in the first access.
- FIG. 4 is a timing chart in the first embodiment, and is a timing chart in the case of hitting other than the assigned way.
- FIG. 4 shows the operation when the way 3 is hit. Cycle 3—
- No. 4 The operation of No. 4 is the same as cycle 3-1 in FIG.
- the way 1 hit signal (1 24) and the way 2 hit signal (1 25) are not asserted in order to not hit the accessed way 1 or 2 way.
- the crash control unit (1-3) determines that the first hit miss determination has made a hit, and starts the second hit miss determination.
- the hit / miss control unit (1-8) performs the second determination cycle, and since the way 3 hit from the way 3 hit signal (1 26), cache control is ended and the access end signal (1-35) is reached. Output). At the same time, it outputs the select signal of way 3 as a data select signal (1-28)
- the way selector (1 to 34) looks at the data select signal (1 to 28) and the way 3 data (1
- the hit miss control unit (1-8) determines that there is a cache miss, and in cycles 3-6 and thereafter, the cache control unit (1-3) determines the external memory Start the refill process from.
- shared cache memory can be used as in all way access where there is no need to access external memory by cache access.
- the power reduction can be realized by the same method also for the force write access described for the read access.
- each way of the cache memory performs hit / miss determination when the CS signal is input, and the cache memory described in the cache memory outputs data.
- the tag memory in the cache memory and the data memory are for tag memory. It is possible to execute similar processing with cache memories that can be separately accessed by CS signals for CS and CS signals for data memory.
- FIG. 5 is a flowchart of cache access in the second embodiment of the present invention.
- steps 2-1 and 2-2 only the number of access ways at the time of the second access in the first embodiment is different, and the steps from the start of the access to the first access (steps 2-1 and 2-2) and the second The subsequent steps (steps 2-4, 2-5, 2-6, 2-7) are the same.
- FIG. 6 is a timing chart in the second embodiment. The figure shows the timing when you hit a way that has not been assigned.
- cycle 6-1 The operation of cycle 6-1 is the same as cycle 3-1 in FIG.
- the way 1 hit signal (1 24) and the way 2 hit signal (1 25) are not asserted in order not to hit the accessed way 1 or 2 way.
- the crash control unit (1-3) determines that the first hit miss determination has made a hit, and starts the second hit miss determination.
- CS Signal Generation Unit (1-7) Force Generates way 1 CS signal (1-20), way 2 CS signal (1-21), way 3 CS signal (1-22), way 4 CS signal (123).
- the way 3 hit signal (1-26) and the way 4 hit signal (1-27) are output.
- the hit / miss control unit (1-8) makes a second hit / miss determination, and cache control is terminated on the assumption that way 3 has hit from the way 3 hit signal (1-26), and the access end signal (1 — Output 35). At the same time, it outputs the select signal of way 3 as a data select signal (1-28)
- the way selector (1-34) selects way 3 data (131) by looking at the data select signal (1-28), and outputs way 3 data as cache read data (1-33).
- FIG. 7 shows a system configuration diagram of the cache memory control device in the third embodiment.
- Figure 7 shows the functional units required for cache hit operation during read access.
- the CPU (7-1) in this system executes a plurality of programs in parallel by switching CPUs and other internal resource information such as program counters in a unit of time, or one CPU executes a plurality of programs in parallel.
- CPU (multi-threaded) it is assumed that the CPU (7-l) of the present embodiment performs normal multi-thread operation and is a CPU whose thread is switched during execution of memory access.
- the code (7-2) indicates an access control unit
- the code (7-3) indicates a CPU address
- the code (7-4) indicates a CPU request
- the code (7-5) indicates a CPU acknowledge.
- code (7-6) indicates process ID.
- the code (7-7) indicates the permission setting register for holding the setting of the refill permission way for each processing ID.
- CPU (7-1) If an access is also performed, CPU request (7-4) is output, and processing ID (7-6) is an identifier of the process currently being executed in synchronization with it. Is output.
- the access control unit (7-2) receives the CPU request (7-4) and starts cache access. Also, the access ID (1-39) is output to the refill permission way setting unit (1-6).
- the refill permission way setting unit (16) has a permission setting register (7-7) that can set the refill permission way for each process ID, and the setting corresponding to the access ID (1- 39) can be refill permission information Output as (1-40).
- the process ID (7- 6) is output as the access ID (1- 39) as it is, but different data may be used as long as the process ID (7- 6) can be used.
- the CPU (7-1) performs normal multi-thread operation and does not switch threads (before read data returns) during read access. That is, the thread does not switch until the cache read data (1-33) is input to the CPU (7-1). Therefore, the cache read data (1-33) is always the data corresponding to the process ID (7-6) that has activated the read access. Therefore, the CPU (7-1) can fetch the cache read data 1-33 as it is.
- the force indicating the function of read access only is written in the same manner. It is also applicable to access.
- the access to the cache memory is completed in the case of a cache hit, and in the case of a cache miss, the remaining memory in the cache memory or all the ways Access to make a second hit / miss decision.
- the first hit / miss determination in the case of a cache miss, access to the remaining ways or all ways of the cache memory is not performed, that is, the second hit / miss determination is not performed, and refilling of external memory power is performed. Let's start the process of.
- the cache memory control device has an effect that the power of cache access can be reduced without almost degrading the performance of the cache access cycle, and a CPU that performs multiprocessor and multithread processing This system is useful as a system that mounts shared cache memory.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200680002425XA CN101107599B (zh) | 2005-03-22 | 2006-03-22 | 高速缓冲存储器控制方法和高速缓冲存储器控制装置 |
EP06729643A EP1862906A4 (en) | 2005-03-22 | 2006-03-22 | METHOD AND DEVICE FOR INTERMEDIATE MEMORY CONTROL |
JP2007509291A JP4080527B2 (ja) | 2005-03-22 | 2006-03-22 | キャッシュメモリ制御方法およびキャッシュメモリ制御装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005-081544 | 2005-03-22 | ||
JP2005081544 | 2005-03-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2006101113A1 true WO2006101113A1 (ja) | 2006-09-28 |
Family
ID=37023773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2006/305676 WO2006101113A1 (ja) | 2005-03-22 | 2006-03-22 | キャッシュメモリ制御方法およびキャッシュメモリ制御装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7636812B2 (ja) |
EP (1) | EP1862906A4 (ja) |
JP (1) | JP4080527B2 (ja) |
CN (1) | CN101107599B (ja) |
WO (1) | WO2006101113A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009217616A (ja) * | 2008-03-11 | 2009-09-24 | Toshiba Corp | キャッシュメモリ制御回路及びプロセッサ |
JP2013502645A (ja) * | 2009-08-21 | 2013-01-24 | エンパイア テクノロジー ディベロップメント エルエルシー | キャッシュメモリ結合性を伴うプロセッサコアの割当 |
JP2013016244A (ja) * | 2011-06-09 | 2013-01-24 | Semiconductor Energy Lab Co Ltd | 半導体記憶装置および半導体記憶装置の駆動方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589629B2 (en) * | 2009-03-27 | 2013-11-19 | Advanced Micro Devices, Inc. | Method for way allocation and way locking in a cache |
US9753858B2 (en) | 2011-11-30 | 2017-09-05 | Advanced Micro Devices, Inc. | DRAM cache with tags and data jointly stored in physical rows |
US8984368B2 (en) | 2012-10-11 | 2015-03-17 | Advanced Micro Devices, Inc. | High reliability memory controller |
US9400544B2 (en) | 2013-04-02 | 2016-07-26 | Apple Inc. | Advanced fine-grained cache power management |
US8984227B2 (en) * | 2013-04-02 | 2015-03-17 | Apple Inc. | Advanced coarse-grained cache power management |
US9396122B2 (en) | 2013-04-19 | 2016-07-19 | Apple Inc. | Cache allocation scheme optimized for browsing applications |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09160828A (ja) | 1995-12-06 | 1997-06-20 | Fujitsu Ltd | 多重アクセス方法および多重アクセスキャッシュメモリ装置 |
WO1998019242A1 (fr) * | 1996-10-30 | 1998-05-07 | Hitachi, Ltd. | Processeur de donnees et systeme de traitement de donnees |
US5845309A (en) | 1995-03-27 | 1998-12-01 | Kabushiki Kaisha Toshiba | Cache memory system with reduced tag memory power consumption |
EP0927937A1 (en) | 1997-12-30 | 1999-07-07 | STMicroelectronics Limited | Method and computer system for processing a data stream |
JP2000099399A (ja) * | 1998-09-19 | 2000-04-07 | Apriori Micro Systems:Kk | ウェイ予測型キャッシュメモリとそのアクセス方法 |
JP2002342163A (ja) * | 2001-05-15 | 2002-11-29 | Fujitsu Ltd | マルチスレッドプロセッサ用キャッシュ制御方式 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5875464A (en) * | 1991-12-10 | 1999-02-23 | International Business Machines Corporation | Computer system with private and shared partitions in cache |
JPH0950401A (ja) * | 1995-08-09 | 1997-02-18 | Toshiba Corp | キャッシュメモリ及びそれを備えた情報処理装置 |
JPH11139216A (ja) | 1997-11-12 | 1999-05-25 | Primo Hanbai Kk | 車載用機器のホルダー装置 |
KR100351504B1 (ko) * | 2000-06-05 | 2002-09-05 | 삼성전자 주식회사 | 캐쉬 메모리, 그의 전력 소비 절감 방법 그리고 캐쉬메모리를 구비하는 데이터 처리 시스템 |
US6823426B2 (en) * | 2001-12-20 | 2004-11-23 | Intel Corporation | System and method of data replacement in cache ways |
US7055004B2 (en) * | 2003-09-04 | 2006-05-30 | International Business Machines Corporation | Pseudo-LRU for a locking cache |
US7516275B2 (en) * | 2006-04-25 | 2009-04-07 | International Business Machines Corporation | Pseudo-LRU virtual counter for a locking cache |
-
2006
- 2006-03-22 WO PCT/JP2006/305676 patent/WO2006101113A1/ja active Application Filing
- 2006-03-22 CN CN200680002425XA patent/CN101107599B/zh active Active
- 2006-03-22 JP JP2007509291A patent/JP4080527B2/ja active Active
- 2006-03-22 EP EP06729643A patent/EP1862906A4/en not_active Withdrawn
- 2006-03-22 US US11/720,751 patent/US7636812B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845309A (en) | 1995-03-27 | 1998-12-01 | Kabushiki Kaisha Toshiba | Cache memory system with reduced tag memory power consumption |
JPH09160828A (ja) | 1995-12-06 | 1997-06-20 | Fujitsu Ltd | 多重アクセス方法および多重アクセスキャッシュメモリ装置 |
WO1998019242A1 (fr) * | 1996-10-30 | 1998-05-07 | Hitachi, Ltd. | Processeur de donnees et systeme de traitement de donnees |
EP0927937A1 (en) | 1997-12-30 | 1999-07-07 | STMicroelectronics Limited | Method and computer system for processing a data stream |
JP2000099399A (ja) * | 1998-09-19 | 2000-04-07 | Apriori Micro Systems:Kk | ウェイ予測型キャッシュメモリとそのアクセス方法 |
JP2002342163A (ja) * | 2001-05-15 | 2002-11-29 | Fujitsu Ltd | マルチスレッドプロセッサ用キャッシュ制御方式 |
Non-Patent Citations (1)
Title |
---|
See also references of EP1862906A4 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009217616A (ja) * | 2008-03-11 | 2009-09-24 | Toshiba Corp | キャッシュメモリ制御回路及びプロセッサ |
JP2013502645A (ja) * | 2009-08-21 | 2013-01-24 | エンパイア テクノロジー ディベロップメント エルエルシー | キャッシュメモリ結合性を伴うプロセッサコアの割当 |
JP2013016244A (ja) * | 2011-06-09 | 2013-01-24 | Semiconductor Energy Lab Co Ltd | 半導体記憶装置および半導体記憶装置の駆動方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2006101113A1 (ja) | 2008-09-04 |
US20090235028A1 (en) | 2009-09-17 |
EP1862906A4 (en) | 2009-01-07 |
CN101107599A (zh) | 2008-01-16 |
EP1862906A1 (en) | 2007-12-05 |
US7636812B2 (en) | 2009-12-22 |
JP4080527B2 (ja) | 2008-04-23 |
CN101107599B (zh) | 2011-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2006101113A1 (ja) | キャッシュメモリ制御方法およびキャッシュメモリ制御装置 | |
Jeong et al. | Balancing DRAM locality and parallelism in shared memory CMP systems | |
US8756605B2 (en) | Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline | |
JP5413001B2 (ja) | キャッシュメモリ | |
US20070094664A1 (en) | Programmable priority for concurrent multi-threaded processors | |
JP4838240B2 (ja) | 情報処理装置における電力制御装置 | |
US20090327649A1 (en) | Three-Tiered Translation Lookaside Buffer Hierarchy in a Multithreading Microprocessor | |
US20100042786A1 (en) | Snoop-based prefetching | |
US20060123169A1 (en) | Dynamic access scheduling memory controller | |
WO2010144832A1 (en) | Partitioned replacement for cache memory | |
AU2204299A (en) | Computer cache memory windowing | |
WO2012008073A1 (ja) | 共有メモリシステム及びその制御方法 | |
EP3716065B1 (en) | Apparatus, method, and system for ensuring quality of service for multi-threading processor cores | |
JP2004234123A (ja) | マルチスレッドコンピュータ | |
KR101940523B1 (ko) | 워프 스케줄링을 위한 장치 및 방법 | |
JP2005524170A (ja) | 不揮発性メモリを備える集積回路及び前記メモリからのデータをフェッチするための方法 | |
CN1926514B (zh) | 从处理器中的并发物理线程的数目中去耦合逻辑线程的数目 | |
Herrero et al. | Thread row buffers: Improving memory performance isolation and throughput in multiprogrammed environments | |
Paul et al. | Dynamically adaptive i-cache partitioning for energy-efficient embedded multitasking | |
JP4520847B2 (ja) | 集積回路における不揮発性メモリからのデータをフェッチするための方法及び対応する集積回路 | |
JP2003281084A (ja) | 外部バスへのアクセスを効率的に行うマイクロプロセッサ | |
CN111459630B (zh) | 采用硬件多线程机制的网络处理器 | |
US11314686B2 (en) | Hardware for supporting time triggered load anticipation in the context of a real time OS | |
Allard et al. | A context aware cache controller to bridge the gap between theory and practice in real-time systems | |
JP2003131943A (ja) | 統合型分離型切替えキャッシュメモリ及び該キャッシュメモリを備えたプロセッサシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2006729643 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 11720751 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 200680002425.X Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2007509291 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
NENP | Non-entry into the national phase |
Ref country code: RU |
|
WWP | Wipo information: published in national office |
Ref document number: 2006729643 Country of ref document: EP |