[go: up one dir, main page]

KR101863578B1 - Apparatus for Adaptive Cache Access in Computing System and Method thereof - Google Patents

Apparatus for Adaptive Cache Access in Computing System and Method thereof Download PDF

Info

Publication number
KR101863578B1
KR101863578B1 KR1020160162695A KR20160162695A KR101863578B1 KR 101863578 B1 KR101863578 B1 KR 101863578B1 KR 1020160162695 A KR1020160162695 A KR 1020160162695A KR 20160162695 A KR20160162695 A KR 20160162695A KR 101863578 B1 KR101863578 B1 KR 101863578B1
Authority
KR
South Korea
Prior art keywords
cache
lat
cpu core
system level
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020160162695A
Other languages
Korean (ko)
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 KR1020160162695A priority Critical patent/KR101863578B1/en
Application granted granted Critical
Publication of KR101863578B1 publication Critical patent/KR101863578B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • 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

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)
  • Power Sources (AREA)

Abstract

본 발명은 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치 및 그 방법에 관한 것으로서, CPU 코어, 계층적 메모리 캐시, 복수의 IP(Intellectual property)들로 구성되고, 다중 클럭 주파수 도메인을 갖는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치에 있어서, 상기 CPU 코어는 코어 클럭 도메인에 L1 캐시와 L2 캐시를 포함하고, 상기 L1 캐시와 L2 캐시 사이에 설치되고, 메모리 레이턴시(Latency) 성능에 따라 상기 L2 캐시에 대한 접근을 바이패싱하는 바이패스 모드 또는 상기 L2 캐시를 사용하는 정상 모드 중 어느 하나의 동작 모드를 결정하는 바이패스 컨트롤러를 포함하며, 상기 CPU 코어 및 복수의 IP들과 다른 클럭 도메인을 갖으며, 상기 CPU 코어와 복수의 IP들 사이에 설치되는 시스템 레벨 캐시를 포함한다. 따라서, 본 발명은 PU 코어와 시스템 레벨 캐시(L3 캐시에 해당)가 서로 다른 클록 도메인에서 동작할 경우에 DVFS의 영향으로 인해 L2 캐시와 시스템 레벨 캐시의 접근 속도가 역전될 경우에 L2 캐시의 접근을 바이패싱하고 시스템 레벨 캐시에 직접 접근함으로써 성능을 향상시키고, 이때 L2 캐시에 파워 게이팅을 적용하여 불필요한 에너지를 줄일 수 있으며, 그만큼 전체 시스템의 성능과 에너지 효율성을 높일 수 있다.[0001] The present invention relates to an adaptive cache memory access apparatus and method for a computing system, and more particularly, to an adaptive cache memory access apparatus and method for a computing system, which comprises a CPU core, a hierarchical memory cache, a plurality of IP (Intellectual Properties) A cache memory access device, comprising: a CPU core including an L1 cache and an L2 cache in a core clock domain, and installed between the L1 cache and the L2 cache, for accessing the L2 cache according to memory latency performance And a bypass controller for determining either one of a bypass mode for bypassing bypass mode and a normal mode using the L2 cache, wherein the bypass controller has a clock domain different from the CPU core and the plurality of IPs, And a system level cache installed between the plurality of IPs. Accordingly, the present invention is based on the fact that when the access speed of the L2 cache and the system level cache is reversed due to the influence of the DVFS when the PU core and the system level cache (corresponding to the L3 cache) operate in different clock domains, By bypassing and directly accessing the system level cache, performance can be improved, by applying power gating to the L2 cache, reducing unnecessary energy and increasing overall system performance and energy efficiency.

Description

컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치 및 그 방법{Apparatus for Adaptive Cache Access in Computing System and Method thereof}[0001] Apparatus for Adaptive Cache Memory Access in a Computing System [0002]

본 발명은 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치 및 그 방법에 관한 것으로, 보다 상세하게는 대용량의 오프칩 메모리를 사용할 경우에 성능 및 에너지 효율성을 높이기 위해 L2 캐시에 대한 사용 여부를 결정하도록 하는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치 및 그 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an adaptive cache memory access apparatus and method for a computing system, and more particularly, To an adaptive cache memory access apparatus and method thereof.

최근, 모바일 디바이스는 사용자 요구에 따라 고성능 및 고 에너지 효율이 요구되고 있다. 모바일 시스템 온 칩들(System on Chips, SoCs) 내의 대규모 시스템 레벨 캐시(일반적으로 컴퓨팅 시스템에서 L3 캐시)는 모바일 디바이스들의 성능을 향상시키는데 상당히 도움을 주고 있다. Recently, mobile devices are required to have high performance and high energy efficiency according to user's demand. Large system level caches (typically L3 caches in computing systems) within mobile on-chips (SoCs) are very helpful in improving the performance of mobile devices.

최근 빠른 데이터 처리를 위해 CPU와 메인 메모리 사이에 레벨(L1, L2, L3 등) 캐시를 중간에 삽입하고 있다. 캐시는 메인 메모리에 비해 액세스 속도가 빠르지만 크기가 너무 클 경우에 액세스 속도가 느려진다. 따라서, L1 캐시(또는 레벨 1)의 경우에는 크기를 줄여 액세스 속도를 빠르게 하고, L2 캐시(또는 레벨 2)의 경우에는 속도를 느리게 하는 대신에 크기를 크게 하여 CPU가 원하는 데이터 대역폭을 만족시키는 방향으로 캐시 디자인이 이루어지고 있다. Recently, a level (L1, L2, L3, etc.) cache is interposed between the CPU and the main memory for fast data processing. Caches have faster access times than main memory, but they are slower in size. Therefore, in the case of the L1 cache (or level 1), the size is reduced to increase the access speed, and in the case of the L2 cache (or the level 2), the size is increased instead of slowing the speed, Cache design is being done.

이와 같이, 캐시 메모리의 활용도가 점점 높아지고, 캐시의 용량이 점점 커지고 구조가 갈수록 복잡해짐에 따라 캐시 메모리가 전체 칩의 전력 소모에 미치는 영향도 커지고 있다.As described above, as the utilization of the cache memory becomes higher, the capacity of the cache becomes larger and the structure becomes more complicated, the influence of the cache memory on the power consumption of the entire chip is also increasing.

도 1은 일반적인 컴퓨팅 시스템의 메모리 계층 구조를 설명하는 도면이다.1 is a diagram illustrating a memory hierarchy structure of a general computing system.

도 1을 참고하면, 일반적인 컴퓨팅 시스템은 CPU 코어(11), 시스템 레벨 캐시(13), 복수의 IP들(12)을 포함하는 SoC(10)와, 메모리 서브 시스템(20)으로 구성될 수 있다. 1, a typical computing system may comprise a SoC 10 including a CPU core 11, a system level cache 13, a plurality of IPs 12, and a memory subsystem 20 .

CPU 관점에서 시스템 레벨 캐시(13)는 SoC(10) 내 모든 IP들을 통해 공유될 수 있지만 라스트 레벨(Last-Level) 캐시로 동작한다. From the CPU's point of view, the system level cache 13 can be shared across all IPs in the SoC 10 but operates as a last-level cache.

CPU 코어(11), 시스템 레벨 캐시(13), IP들(12)은 세분화된 전력/에너지 관리를 위해 다른 클럭 주파수 도메인에서 동작한다. CPU 코어(11)는 0.4㎓에서 2.0㎓에서 동작하고, 하나의 주파수 스텝은 시스템 레벨 캐시가 1㎓에서 동작하는 동안 400㎒이다. CPU core 11, system level cache 13, IPs 12 operate in different clock frequency domains for fine-grained power / energy management. The CPU core 11 operates at 0.4 GHz to 2.0 GHz, and one frequency step is 400 MHz while the system level cache operates at 1 GHz.

에너지 효율적 측면에서, 모바일 SoC는 효율적인 파워/에너지 관리를 위해 내부 기능 블록의 전압과 동작 주파수를 용도에 따라 변화시키는 동적 전압-주파수 스케일링(Dynamic Voltage-Frequency Scaling, DVFS)를 적용하고 있다. 즉, DVFS는 전압(작업의 크기)에 따라 CPU 코어의 클럭 주파수를 조정할 수 있다. 모바일 프로세서들은 다른 전압과 주파수 범위를 가지고, 운영 시스템들은 전형적으로 컴퓨팅 로드들에 의해 요구되는 양에 의존하여 전압과 주파수 레벨을 제어한다. In terms of energy efficiency, the mobile SoC uses Dynamic Voltage-Frequency Scaling (DVFS), which changes the voltage and operating frequency of the internal function block according to the application for efficient power / energy management. That is, DVFS can adjust the clock frequency of the CPU core according to the voltage (size of operation). Mobile processors have different voltage and frequency ranges, and operating systems typically control the voltage and frequency levels depending on the amount required by the computing loads.

예를 들어, 높은 계산력이 요구될 때 운영 시스템은 성능 요구에 적합한 전압과 주파수 레벨로 증가시키고, 반대의 경우에 운영 시스템은 전압/에너지 소비를 감소시키기 위해 전압과 주파수를 감소시킨다. For example, when high computational power is required, the operating system increases to the voltage and frequency levels suited to the performance requirements, and in the opposite case the operating system reduces the voltage and frequency to reduce voltage / energy consumption.

다른 한편으로, 전형적인 모바일 SoC들은 단일 글러벌 주파수 도메인을 갖는 것보다 에너지 효율을 위해 다중 클럭 주파수 도메인을 갖는다. 그래서, 모바일 CPU들, GPU들, 다양한 형태의 제어기들 또는 액셀레이터들, 대형 시스템 레벨 캐시들은 다른 동작 클럭 주파수들을 갖는다. 그러나 SoC의 다양한 IP들의 클럭 주파수 차이로 인해, 비정상적인 캐시 접근 행태의 경우, 즉 더 높은 레벨의 캐시들은 CPU와 GPU와 비교하여 다른 클럭 도메인에서 동작하는 시스템 레벨 캐시 또는 L3 캐시보다 더 긴 레이턴시를 갖는다. 이는 라스트 레벨 캐시들이 높은 클럭 주파수에서 동작하는 동안에 CPU가 비교적으로 낮은 클럭 주파수에서 실행될 때 발생할 수 있다. 이 경우에 CPU 내 캐시에 접근하는 것은 직접적으로 시스템 레벨 캐시에 접근하는 것보다 성능 감소와 에너지 비효율성을 가져오게 되는 문제점이 있다. On the other hand, typical mobile SoCs have multiple clock frequency domains for energy efficiency than those with a single glance frequency domain. Thus, mobile CPUs, GPUs, various types of controllers or accelerators, and large system level caches have different operating clock frequencies. However, due to the difference in clock frequencies of the various IPs in the SoC, in the case of abnormal cache access behavior, i.e. higher level caches have a longer latency than system level cache or L3 cache operating in different clock domains as compared to CPU and GPU . This may occur when the CPU is running at a relatively low clock frequency while the last level caches operate at a high clock frequency. In this case, accessing the cache in the CPU has a problem in that it leads to performance degradation and energy inefficiency rather than directly accessing the system level cache.

만일, CPU 코어(11)가 2㎓로 동작할 때와 400㎒로 동작할 때를 비교해보면, CPU 코어(11)가 2㎓로 동작하는 경우에 정상적으로 L2 캐시가 시스템 레벨 캐시에 비해 빠른 접근 속도를 갖으므로 통상적인 메모리 계층 구조가 유지된다. 그러나 CPU 코어(11)가 400㎒로 동작하는 경우에 L2 캐시가 시스템 레벨 캐시에 비해서 느린 접근 속도를 갖는다.If the CPU core 11 operates at 2 GHz and operates at 400 MHz, when the CPU core 11 operates at 2 GHz, the L2 cache normally operates at a faster access speed The conventional memory hierarchy is maintained. However, when the CPU core 11 operates at 400 MHz, the L2 cache has a slower access speed than the system level cache.

L2 캐시의 경우에 CPU 코어와 동일한 클럭 도메인에서 동작되기 때문에 사이클(cycle) 수가 정해져 있어 클럭 사이클 시간이 늘어나 실제 접근 시간은 클럭 주파수가 내려가면 증가하게 된다. 그러나 시스템 레벨 캐시의 경우, CPU 코어(11)의 클럭 도메인과 다른 클럭 도메인에서 동작하기 때문에 DVFS를 하지 않으면 CPU 코어의 클럭 주파수와 관계없이 해당 접근 시간이 동일하게 유지된다.In the case of the L2 cache, since the clock is operated in the same clock domain as the CPU core, the number of cycles is increased, so that the clock cycle time is increased and the actual access time is increased when the clock frequency is lowered. However, since the system level cache operates in a clock domain different from the clock domain of the CPU core 11, the access time remains the same regardless of the clock frequency of the CPU core without DVFS.

즉, CPU 코어의 클럭 주파수가 2㎓일 때, L1 캐시의 접근 레이턴시는 2ns이고, L2 캐시의 접근 레이턴시는 6ns이며, 시스템 레벨 캐시의 접근 레이턴시는 15ns이다. 그러나 CPU 코어의 클럭 주파수가 400㎒일 때, L1 캐시의 접근 레이턴시는 10ns이고, L2 캐시의 접근 레이턴시는 30ns이며, 시스템 레벨 캐시의 접근 레이턴시는 15ns이다. That is, when the clock frequency of the CPU core is 2 GHz, the access latency of the L1 cache is 2 ns, the access latency of the L2 cache is 6 ns, and the access latency of the system level cache is 15 ns. However, when the clock frequency of the CPU core is 400 MHz, the L1 cache access latency is 10 ns, the L2 cache access latency is 30 ns, and the system level cache access latency is 15 ns.

이와 같이, L2 캐시와 시스템 레벨 캐시가 서로 다른 클록 도메인에서 동작할 경우에 DVFS의 영향으로 접근 속도가 역전되면 L2 캐시에 접근한 것이 시스템 레벨 캐시에 접근한 것보다 접근 속도가 느리고, 그로 인해 성능에 악영향을 미침과 동시에 소모되는 에너지도 낭비하게 되는 문제점이 있다. Thus, when the L2 cache and the system level cache operate in different clock domains, the access speed is reversed due to the DVFS, so accessing the L2 cache is slower than accessing the system level cache, There is a problem that energy consumed at the same time as wasting energy is also wasted.

한국공개번호 제2015-0067433호 " L2 캐시 특성을 조절할 수 있는 멀티-코어 CPU 시스템, 이의 동작 방법, 및 이를 포함하는 장치들 "Korea Publication No. 2015-0067433 "Multi-core CPU system capable of controlling L2 cache characteristics, method of operating the same, and apparatuses including the same"

본 발명은 CPU 코어의 L1 캐시와 L2 캐시 사이에 바이패스 컨트롤러를 설치하고, 바이패스 컨트롤러에서 L2 캐시의 접근 레이턴시와 시스템 레벨 캐시의 접근 레이턴시를 비교하여 동적으로 L2 캐시의 사용 여부를 결정하고, L2 캐시가 사용되지 않을 때 파워 게이팅을 적용함으로써 성능 향상 및 에너지 소모를 줄일 수 있는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치 및 그 방법을 제공한다. A bypass controller is provided between the L1 cache and the L2 cache of the CPU core. The bypass controller determines whether to use the L2 cache dynamically by comparing the access latency of the L2 cache with the access latency of the system level cache, The present invention provides an adaptive cache memory access apparatus and method for a computing system that can improve performance and reduce energy consumption by applying power gating when L2 cache is not used.

실시예들 중에서, 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치는, CPU 코어, 계층적 메모리 캐시, 복수의 IP(Intellectual property)들로 구성되고, 다중 클럭 주파수 도메인을 갖는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치에 있어서, 상기 CPU 코어는 코어 클럭 도메인에 L1 캐시와 L2 캐시를 포함하고, 상기 L1 캐시와 L2 캐시 사이에 설치되고, 메모리 레이턴시(Latency) 성능에 따라 상기 L2 캐시에 대한 접근을 바이패싱하는 바이패스 모드 또는 상기 L2 캐시를 사용하는 정상 모드 중 어느 하나의 동작 모드를 결정하는 바이패스 컨트롤러를 포함하며, 상기 CPU 코어 및 복수의 IP들과 다른 클럭 도메인을 갖으며, 상기 CPU 코어와 복수의 IP들 사이에 설치되는 시스템 레벨 캐시를 포함하는 것을 특징으로 한다. Among the embodiments, an adaptive cache memory access device of a computing system includes a CPU core, a hierarchical memory cache, a plurality of intellectual properties (IPs), and an adaptive cache memory access of a computing system having multiple clock frequency domains Wherein the CPU core includes an L1 cache and an L2 cache in a core clock domain and is installed between the L1 cache and the L2 cache and bypasses access to the L2 cache according to memory latency performance Bypass mode or a normal mode using the L2 cache, wherein the bypass controller has a clock core different from the CPU core and a plurality of IPs, And a system level cache installed between the IPs.

상기 바이패스 컨트롤러는, 상기 L2 캐시의 접근 레이턴시(LATL2)와 시스템 레벨 캐시의 접근 레이턴시(LATsys)를 비교하여 상기 LATL2가 LATsys 미만일 경우에 정상 모드를 수행하고, 상기 LATL2가 LATsys 이상일 경우에 바이패스 모드를 수행하는 것을 특징으로 한다.The bypass controller compares the access latency (LAT sys) of the L2 cache access latency (LAT L2) and system-level cache of performing the normal mode if the LAT L2 the LAT sys is less than, and the LAT L2 the LAT and the bypass mode is performed when the value is equal to or greater than the value of sys .

이때, 상기 정상 모드에서는 상기 L2 캐시를 사용하면서 CPU 코어가 정상적인 캐시 계층구조에서 동작하고, 상기 바이패스 모드에서는 상기 L2 캐시의 접근을 바이패싱하고 상기 시스템 레벨 캐시에 직접 접근하는 것을 특징으로 한다. At this time, in the normal mode, the CPU core operates in a normal cache hierarchy structure while using the L2 cache, and in the bypass mode, bypass access to the L2 cache and directly accesses the system level cache.

상기 바이패스 컨트롤러는, 상기 L2 캐시에 대한 바이패스 또는 사용 여부를 결정하는 제어 로직; 상기 L2 캐시에 공급되는 전력을 공급 또는 차단하도록 제어하는 파워 게이팅 로직; 및 상기 L2 캐시가 파워 게이팅 상태에 돌입한 경우에, 데이터의 일관성을 위해 상기 L2 캐시에 존재하는 더티 데이터(Dirty data)를 상기 시스템 레벨 캐시에 업데이트하는 데이터 업데이트 로직을 포함하는 것을 특징으로 한다. Wherein the bypass controller comprises: control logic for determining whether to bypass or use the L2 cache; Power gating logic for controlling to supply or block power supplied to the L2 cache; And data update logic for updating, in the system level cache, dirty data present in the L2 cache for data consistency when the L2 cache enters a power gating state.

상기 제어 로직은 상기 L2 캐시의 접근 레이턴시(LATL2)와 시스템 레벨 캐시의 접근 레이턴시(LATsys)를 계산하는 결정 알고리즘; 및 상기 결정 알고리즘이 수행되도록 상기 CPU 코어와 시스템 레벨 캐시의 클럭 주파수를 유지하는 주파수 프로파일러를 포함하는 것을 특징으로 한다. The control logic is a decision algorithm for calculating the access latency (LAT L2 ) of the L2 cache and the access latency (LAT sys ) of the system level cache; And a frequency profiler for maintaining the clock frequency of the CPU core and the system level cache so that the decision algorithm is performed.

한편, 상기 데이터 업데이트 로직은 데이터 업데이트 도중에 해당 데이터의 변형을 방지하기 위해 상기 CPU 코어의 동작을 일시 정지시키는 것을 특징으로 한다. Meanwhile, the data update logic temporarily suspends the operation of the CPU core to prevent the data from being deformed during data update.

상기 바이스패스 컨트롤러는 상기 바이패스 모드와 정상 모드 중 어느 하나의 모드를 결정하는 과정을 DVFS(Dynamic Voltage-Frequency Scaling) 스케줄링 시간 할당량마다 수행하는 것을 특징으로 한다. The bypass controller performs a process of determining a mode of either the bypass mode or the normal mode for each Dynamic Voltage-Frequency Scaling (DVFS) scheduling time allocation amount.

상기 바이패스 모드에서 정상 모드로 동작 모드가 변경될 경우에 상기 제어 로직은 L2 캐시가 동작되도록 상기 파워 게이팅 로직에 동작 모드 변경 상태를 알리고, 상기 정상 모드에서 바이패스 모드로 동작 모드가 변경될 경우에 상기 제어 로직은 상기 파워 게이팅 로직과 데이터 업데이트 로직에 동작 모드 변경 상태를 알리는 것을 특징으로 한다.When the operation mode is changed from the bypass mode to the normal mode, the control logic informs the power gating logic of the operation mode change state to operate the L2 cache, and when the operation mode is changed to the bypass mode in the normal mode Wherein the control logic informs the power gating logic and the data update logic of the operating mode change state.

실시예들 중에서, 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 방법은, CPU 코어, 계층적 메모리 캐시, 복수의 IP(Intellectual property)들로 구성되고, 다중 클럭 주파수 도메인을 갖는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 방법에 있어서, 상기 CPU 코어에 L1 캐시와 L2 캐시를 배치하고, 상기 CPU 코어와 복수의 IP들 사이에 시스템 레벨 캐시를 배치하여 메모리 계층 구조를 유지하는 단계; 상기 CPU 코어 내에 메모리 레이턴시(Latency) 성능에 따라 L2 캐시의 접근 바이패싱 여부를 결정하는 바이패스 컨트롤러를 설치하는 단계; 상기 바이패스 컨트롤러는 상기 CPU 코어의 클럭 주파수가 결정되면 L2 캐시의 접근 레이턴시(LATL2)와 시스템 레벨 캐시의 접근 레이턴시(LATsys)를 비교하여 L2 캐시의 사용 여부를 결정하는 단계; 및 상기 L2 캐시의 사용이 결정되면 상기 CPU 코어가 정상적인 메모리 계층 구조에서 동작하고, 상기 L2 캐시의 미사용이 결정되면 상기 L2 캐시의 접근을 바이패싱하고 상기 시스템 레벨 캐시에 직접 접근하는 단계를 포함하는 것을 특징으로 한다. Among embodiments, an adaptive cache memory access method of a computing system includes a CPU core, a hierarchical memory cache, a plurality of intellectual properties (IPs), and an adaptive cache memory approach of a computing system having multiple clock frequency domains The method comprising: placing an L1 cache and an L2 cache in the CPU core, and placing a system level cache between the CPU core and a plurality of IPs to maintain a memory hierarchy; Installing a bypass controller in the CPU core to determine whether to bypass access to the L2 cache according to memory latency performance; Determining whether to use the L2 cache by comparing the access latency (LAT L2 ) of the L2 cache with the access latency (LAT sys ) of the system level cache when the clock frequency of the CPU core is determined; And if the use of the L2 cache is determined, the CPU core operates in a normal memory hierarchy, bypassing access of the L2 cache and directly accessing the system level cache if the L2 cache is unused .

상기 바이패스 컨트롤러는, 상기 L2 캐시의 접근 레이턴시(LATL2)와 시스템 레벨 캐시의 접근 레이턴시(LATsys)를 비교하여 상기 LATL2가 LATsys 미만일 경우에 상기 L2 캐시를 사용하여 정상 모드를 수행하고, 상기 LATL2가 LATsys 이상일 경우에 상기 L2 캐시를 사용하지 않고 시스템 레벨 캐시에 직접 접근하는 바이패스 모드를 수행하는 것을 특징으로 한다. The bypass controller compares the access latency (LAT L2 ) of the L2 cache with the access latency (LAT sys ) of the system level cache to perform a normal mode using the L2 cache when the LAT L2 is less than LAT sys And a bypass mode for directly accessing the system level cache without using the L2 cache when the LAT L2 is equal to or greater than LAT sys .

상기 바이스패스 컨트롤러는 상기 바이패스 모드와 정상 모드 중 어느 하나의 모드를 결정하는 과정을 DVFS(Dynamic Voltage-Frequency Scaling) 스케줄링 시간 할당량마다 수행하는 것을 특징으로 한다. The bypass controller performs a process of determining a mode of either the bypass mode or the normal mode for each Dynamic Voltage-Frequency Scaling (DVFS) scheduling time allocation amount.

상기 L2 캐시의 미사용이 결정되면 상기 L2 캐시의 접근을 바이패싱하고 상기 시스템 레벨 캐시에 직접 접근하는 단계는, 상기 L2 캐시에 공급되는 전력을 공급 또는 차단하도록 파워 게이팅을 실시하는 파워 게이팅 로직을 동작시키는 단계를 더 포함하는 것을 특징으로 한다. Bypassing access to the L2 cache and directly accessing the system level cache when the L2 cache is not used may comprise operating the power gating logic to perform power gating to supply or block power supplied to the L2 cache The method comprising the steps of:

상기 L2 캐시의 미사용이 결정되면 상기 L2 캐시의 접근을 바이패싱하고 상기 시스템 레벨 캐시에 직접 접근하는 단계는, 상기 L2 캐시가 파워 게이팅 상태에 돌입한 경우에, 데이터의 일관성을 위해 상기 L2 캐시에 존재하는 더티 데이터(Dirty data)를 상기 시스템 레벨 캐시에 업데이트하는 데이터 업데이트 로직을 동작시키는 단계를 더 포함하는 것을 특징으로 한다. Bypassing access to the L2 cache and directly accessing the system level cache when the L2 cache is unused is further characterized in that when the L2 cache enters a power gating state, And operating the data update logic to update the existing dirty data to the system level cache.

상기 데이터 업데이트 로직이 동작되면 데이터 업데이트 도중에 해당 데이터의 변형을 방지하기 위해 상기 CPU 코어의 동작을 일시 정지시키는 것을 특징으로 한다. And when the data update logic is operated, suspends the operation of the CPU core to prevent deformation of the data during data update.

상기 바이패스 컨트롤러는 상기 CPU 코어의 클럭 주파수가 결정되면 L2 캐시의 접근 레이턴시(LATL2)와 시스템 레벨 캐시의 접근 레이턴시(LATsys)를 비교하여 L2 캐시의 사용 여부를 결정하는 단계는, 상기 L2 캐시의 접근 레이턴시(LATL2)와 시스템 레벨 캐시의 접근 레이턴시(LATsys)를 계산하는 결정 알고리즘을 수행하고, 상기 결정 알고리즘이 수행되도록 상기 CPU 코어와 시스템 레벨 캐시의 클럭 주파수를 유지하는 단계를 것을 특징으로 한다. Wherein the bypass controller determines whether to use the L2 cache by comparing the access latency (LAT L2 ) of the L2 cache with the access latency (LAT sys ) of the system level cache when the clock frequency of the CPU core is determined, Performing a decision algorithm to calculate an access latency (LAT L2 ) of the cache and an access latency (LAT sys ) of the system level cache, and maintaining the clock frequency of the CPU core and the system level cache such that the decision algorithm is performed .

본 발명의 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치 및 그 방법은, CPU 코어와 시스템 레벨 캐시(L3 캐시에 해당)가 서로 다른 클록 도메인에서 동작할 경우에 DVFS의 영향으로 인해 L2 캐시와 시스템 레벨 캐시의 접근 속도가 역전될 경우에 L2 캐시의 접근을 바이패싱하고 시스템 레벨 캐시에 직접 접근함으로써 성능을 향상시키고, 이때 L2 캐시에 파워 게이팅을 적용하여 불필요한 에너지를 줄일 수 있으며, 그만큼 전체 시스템의 성능과 에너지 효율성을 높일 수 있는 효과가 있다.An adaptive cache memory access device and method of a computing system of the present invention is characterized in that when a CPU core and a system level cache (corresponding to an L3 cache) operate in different clock domains, The L2 cache can be bypassed and the system level cache can be directly accessed to improve the performance. In this case, power gating can be applied to the L2 cache to reduce unnecessary energy, Energy efficiency can be improved.

도 1은 일반적인 컴퓨팅 시스템의 메모리 계층 구조를 설명하는 도면이다.
도 2는 본 발명의 일 실시예에 따른 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치의 구성을 설명하는 도면이다.
도 3은 도 2의 구성요소인 바이패스 컨트롤러의 구성을 설명하는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 컴퓨팅 시스템의 적응적인 메모리 접근 방법을 설명하는 순서도이다.
1 is a diagram illustrating a memory hierarchy structure of a general computing system.
2 is a diagram illustrating a configuration of an adaptive cache memory access apparatus of a computing system according to an embodiment of the present invention.
3 is a block diagram for explaining a configuration of a bypass controller which is a component of Fig.
4 is a flowchart illustrating an adaptive memory access method of a computing system according to an embodiment of the present invention.

본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The description of the present invention is merely an example for structural or functional explanation, and the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, the embodiments are to be construed as being variously embodied and having various forms, so that the scope of the present invention should be understood to include equivalents capable of realizing technical ideas. Also, the purpose or effect of the present invention should not be construed as limiting the scope of the present invention, since it does not mean that a specific embodiment should include all or only such effect.

한편, 본 발명에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of the terms described in the present invention should be understood as follows.

"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.The terms "first "," second ", and the like are intended to distinguish one element from another, and the scope of the right should not be limited by these terms. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected to the other element, but there may be other elements in between. On the other hand, when an element is referred to as being "directly connected" to another element, it should be understood that there are no other elements in between. On the other hand, other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It should be understood that the singular " include "or" have "are to be construed as including a stated feature, number, step, operation, component, It is to be understood that the combination is intended to specify that it does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (e.g., a, b, c, etc.) is used for convenience of explanation, the identification code does not describe the order of each step, Unless otherwise stated, it may occur differently from the stated order. That is, each step may occur in the same order as described, may be performed substantially concurrently, or may be performed in reverse order.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used predefined terms should be interpreted to be consistent with the meanings in the context of the related art and can not be interpreted as having ideal or overly formal meaning unless explicitly defined in the present invention.

도 2는 본 발명의 일 실시예에 따른 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치의 구성을 설명하는 도면이다.2 is a diagram illustrating a configuration of an adaptive cache memory access apparatus of a computing system according to an embodiment of the present invention.

도 2를 참고하면, 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치는 CPU 코어(11), L1 캐시, L2 캐시 및 시스템 레벨 캐시(또는 L3 캐시)(13)의 계층적 메모리 캐시, 복수의 IP(Intellectual property)들(12)로 구성되고 다중 클럭 주파수 도메인을 갖는 모바일 SoC(10)와 메모리 서브 시스템(20)으로 구성된다. 2, an adaptive cache memory access device of a computing system includes a CPU core 11, a hierarchical memory cache of an L1 cache, an L2 cache and a system level cache (or L3 cache) 13, a plurality of IP (12) and a mobile SoC (10) having multiple clock frequency domains and a memory subsystem (20).

CPU 코어(11)는 코어 클럭 도메인에 L1 캐시와 L2 캐시를 포함하고, L1 캐시와 L2 캐시 사이에 설치되고, 메모리 레이턴시(Latency) 성능에 따라 L2 캐시에 대한 접근을 바이패싱하는 바이패스 모드 또는 L2 캐시를 사용하는 정상 모드 중 어느 하나의 동작 모드를 결정하는 바이패스 컨트롤러(100)를 포함한다.The CPU core 11 includes a bypass mode for bypassing access to the L2 cache in accordance with the memory latency performance, which is installed between the L1 cache and the L2 cache, including the L1 cache and the L2 cache in the core clock domain, And a bypass controller (100) for determining an operation mode of any one of the normal modes using the L2 cache.

즉, 바이패스 컨트롤러(100)는 L2 캐시의 접근을 바이패싱하고 시스템 레벨 캐시(13)에 직접 접근하는 것이 성능 측면에서 이득이 된다고 판단될 경우에 바이패스 모드를 수행하고, L2 캐시는 파워 게이팅을 실시하여 에너지 소모를 줄이도록 한다. That is, the bypass controller 100 performs a bypass mode when bypassing access to the L2 cache and determining that direct access to the system level cache 13 is advantageous in terms of performance, and the L2 cache performs power gating To reduce energy consumption.

한편, 시스템 레벨 캐시(13)는 CPU 코어(11) 및 복수의 IP들(12)과 다른 클럭 도메인을 갖는다. On the other hand, the system level cache 13 has a different clock domain from the CPU core 11 and the plurality of IPs 12.

도 3은 도 2의 구성요소인 바이패스 컨트롤러의 구성을 설명하는 블록도이다.3 is a block diagram for explaining a configuration of a bypass controller which is a component of Fig.

도 3을 참고하면 바이패스 컨트롤러(100)는 제어 로직(110), 파워 게이팅 로직(120) 및 데이터 업데이트 로직(130)을 포함한다.3, the bypass controller 100 includes control logic 110, power gating logic 120, and data update logic 130.

제어 로직(110)은 L2 캐시에 대한 바이패스 또는 사용 여부를 결정한다. 이러한 제어 로직(110)은 결정 알고리즘(111)과 주파수 프로파일러(112)를 포함한다.The control logic 110 determines whether to bypass or use the L2 cache. This control logic 110 includes a decision algorithm 111 and a frequency profiler 112.

결정 알고리즘(111)은 L2 캐시의 접근 레이턴시(LATL2)와 시스템 레벨 캐시의 접근 레이턴시(LATsys)를 계산하고, 주파수 프로파일러(112)는 결정 알고리즘이 수행되도록 CPU 코어(11)와 시스템 레벨 캐시(13)의 클럭 주파수를 유지한다. The decision algorithm 111 calculates the access latency (LAT L2 ) of the L2 cache and the access latency (LAT sys ) of the system level cache, and the frequency profiler 112 determines whether the CPU core 11 and the system level And maintains the clock frequency of the cache 13.

CPU의 클럭 주파수는 성능과 전력 사용에 영향을 미친다. 주파수 거버너(Frequency governor)는 높거나 낮은 주파수를 변경하라는 메시지 동작의 종류에 대한 일련의 규칙에 기초하여 임의의 주어진 시간에서의 CPU의 클럭 주파수를 결정한다. 따라서, 주파수 프로파일러(112)는 주파수 거버너에서 결정된 클럭 주파수를 유지하게 된다. The clock frequency of the CPU affects performance and power usage. The frequency governor determines the clock frequency of the CPU at any given time based on a set of rules for the kind of message behavior to change the high or low frequency. Thus, the frequency profiler 112 maintains the determined clock frequency in the frequency governor.

파워 게이팅 로직(120)은 L2 캐시에 공급되는 전력을 공급 또는 차단하도록 제어하여 에너지 소모를 줄일 수 있다. The power gating logic 120 may control to supply or block power supplied to the L2 cache to reduce energy consumption.

데이터 업데이트 로직(130)은 L2 캐시가 파워 게이팅 상태에 돌입한 경우에, 데이터의 일관성을 위해 L2 캐시에 존재하는 더티 데이터(Dirty data)를 시스템 레벨 캐시(13)에 업데이트한다. 이때, 데이터 업데이트 로직(130)은 데이터 업데이트 도중에 해당 데이터의 변형을 방지하기 위해 CPU 코어(11)의 동작을 일시 정지시킨다. The data update logic 130 updates dirty data in the L2 cache to the system level cache 13 for consistency of data when the L2 cache enters a power gating state. At this time, the data update logic 130 temporarily suspends the operation of the CPU core 11 to prevent the data from being deformed during data update.

한편, 제어 로직(110)은 바이패스 모드에서 정상 모드로 동작 모드가 변경(b_to_n change)될 경우에 L2 캐시가 동작되도록 파워 게이팅 로직(120)에 동작 모드 변경 상태를 알리고, 정상 모드에서 바이패스 모드로 동작 모드가 변경(n_to_b change)될 경우에 파워 게이팅 로직(120)과 데이터 업데이트 로직(130)에 동작 모드 변경 상태를 알리게 된다. Meanwhile, when the operation mode is changed from the bypass mode to the normal mode (b_to_n change), the control logic 110 notifies the power gating logic 120 of the operation mode change state so that the L2 cache is operated, The power gating logic 120 and the data update logic 130 are informed of the operation mode change state when the operation mode is changed (n_to_b change).

도 4는 본 발명의 일 실시예에 따른 컴퓨팅 시스템의 적응적인 메모리 접근 방법을 설명하는 순서도이다.4 is a flowchart illustrating an adaptive memory access method of a computing system according to an embodiment of the present invention.

도 4를 참고하면, 컴퓨팅 시스템의 적응적인 메모리 접근 방법은, 운영 시스템에 CPU 코어(11)의 클럭 주파수를 결정하면 바이패스 컨트롤러(100)는 L2 캐시의 접근 레이턴시(LATL2)와 시스템 레벨 캐시의 접근 레이턴시(LATsys)를 비교하여 L2 캐시의 사용 여부를 결정한다.(S1, S2)4, when the computing system's adaptive memory access method determines the clock frequency of the CPU core 11 in the operating system, the bypass controller 100 controls the access latency (LAT L2 ) of the L2 cache and the system level cache The access latency (LAT sys ) of the L2 cache is compared to determine whether to use the L2 cache (S1, S2)

즉, 바이패스 컨트롤러(100)는 L2 캐시의 접근 레이턴시(LATL2)와 시스템 레벨 캐시(13)의 접근 레이턴시(LATsys)를 비교하여 LATL2가 LATsys 미만일 경우에 정상 모드를 수행한다.(S3, S4) 정상 모드가 수행될 경우에 CPU 코어(11)는 정상적인 메모리 계층 구조에서 동작한다. (S5) That is, the bypass controller 100 compares the access latency (LAT L2 ) of the L2 cache with the access latency (LAT sys ) of the system level cache 13 and performs a normal mode when the LAT L2 is less than LAT sys . S3, and S4. When the normal mode is performed, the CPU core 11 operates in a normal memory hierarchy. (S5)

그러나 바이패스 컨트롤러(100)는 LATL2가 LATsys 이상일 경우에 바이패스 모드를 수행한다.(S3, S6) 바이패스 모드가 수행될 경우에 CPU 코어(11)는 L2 캐시의 접근을 바이패싱하고 L2 캐시에 파워 게이팅을 적용한 후 시스템 레벨 캐시(13)에 직접 접근함으로써 데이터는 L2 캐시를 거치지 않고 L1 캐시와 시스템 레벨 캐시(13) 사이를 직접 왔다갔다 하게 된다.(S7, S8) However, bypass controller 100 performs a bypass mode when LAT L2 is equal to or greater than LAT sys (S3, S6). When bypass mode is performed, CPU core 11 bypasses L2 cache access After power gating is applied to the L2 cache, direct access to the system level cache 13 results in data going directly back and forth between the L1 cache and the system level cache 13 (S7, S8) without going through the L2 cache.

이때, 바이패스 컨트롤러(100)는 데이터 일관성을 보장하기 위해 L2 캐시가 파워 게이팅 상태에 돌입하면 L2 캐시에 존재하는 더티 데이터를 시스템 레벨 캐시에 업데이트하고, 업데트하는 도중에 데이터 변형을 방지하기 위해 CPU 코어의 동작을 잠시 차단한다. In order to ensure data consistency, the bypass controller 100 updates the dirty data existing in the L2 cache to the system level cache when the L2 cache enters the power gating state, Block the operation of the core momentarily.

바이스패스 컨트롤러(100)는 바이패스 모드와 정상 모드 중 어느 하나의 모드를 결정하는 과정을 DVFS(Dynamic Voltage-Frequency Scaling) 스케줄링 시간 할당량마다 수행한다. The bypass controller 100 performs a process of determining a mode of either the bypass mode or the normal mode for each dynamic frequency-frequency scaling (DVFS) scheduling time allocation amount.

CPU 코어가 400㎒에서 2㎓의 클럭 주파수에서 동작 가능한 경우에, CPU 코어가 2㎓의 클럭 주파수에서 동작하면 L2 캐시에 접근하는 것이 성능상 이득이 되므로, 바이패스 컨트롤러(100)는 정상 모드를 수행하여 L2 캐시에 파워 게이팅을 적용하지 않고 정상적인 메모리 계층 구조로 동작한다.When the CPU core is capable of operating at a clock frequency of 2 GHz at 400 MHz, if the CPU core operates at a clock frequency of 2 GHz, access to the L2 cache results in a performance gain, so that the bypass controller 100 performs a normal mode And operates in a normal memory hierarchy without applying power gating to the L2 cache.

그러나 CPU 코어가 400㎒의 클럭 주파수에서 동작하면 L2 캐시에 접근하는 것이 시스템 레벨 캐시에 접근하는 것보다 속도가 느리므로 바이패스 컨트롤러(100)는 바이패스 모드를 수행하여 L2 캐시에 파워 게이팅을 적용하고 시스템 레벨 캐시에 직접 접근하도록 한다. However, if the CPU core operates at a clock frequency of 400 MHz, it is slower than accessing the L2 cache because it is slower than accessing the system level cache. Therefore, the bypass controller 100 performs bypass mode to apply power gating to the L2 cache And direct access to the system level cache.

이와 같이, 본 발명의 일 실시예에 따른 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치 및 그 방법은 다중 클럭 도메인을 갖는 SoC에서 DVFS 가능한 CPU에서 성능과 에너지 향상시키기 위해 캐시 바이패싱 기술을 사용함으로써 L2 캐시와 시스템 레벨 캐시의 에너지 소비가 14.5%까지 줄일 수 있고, 0.13%까지 성능을 향상시킬 수 있다. As described above, the adaptive cache memory access apparatus and method for a computing system according to an exemplary embodiment of the present invention uses a cache bypassing technique to improve performance and energy in a DVFS-capable CPU in an SoC having multiple clock domains, And system-level cache energy consumption can be reduced by up to 14.5% and performance can be improved by up to 0.13%.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that

100 : 바이패스 컨트롤러 110 : 제어로직
111 : 결정 알고리즘 112 : 주파수 프로파일러
120 : 파워게이팅 로직 130 : 데이터 업데이트 로직
100: bypass controller 110: control logic
111: Decision Algorithm 112: Frequency Profiler
120: Power gating logic 130: Data update logic

Claims (15)

CPU 코어, 계층적 메모리 캐시, 복수의 IP(Intellectual property)들로 구성되고, 다중 클럭 주파수 도메인을 갖는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치에 있어서,
코어 클럭 도메인에 L1 캐시와 L2 캐시를 포함하는 CPU 코어;
상기 L1 캐시와 L2 캐시 사이에 설치되고, 메모리 레이턴시(Latency) 성능에 따라 상기 L2 캐시에 대한 접근을 바이패싱하는 바이패스 모드 또는 상기 L2 캐시를 사용하는 정상 모드 중 어느 하나의 동작 모드를 결정하는 바이패스 컨트롤러; 및,
상기 CPU 코어 및 복수의 IP들과 다른 클럭 도메인을 갖으며, 상기 CPU 코어와 복수의 IP들 사이에 설치되는 시스템 레벨 캐시;를 포함하고,
상기 바이패스 컨트롤러는,
상기 L2 캐시에 대한 바이패스 또는 사용 여부를 결정하는 제어 로직;
상기 L2 캐시에 공급되는 전력을 공급 또는 차단하도록 제어하는 파워 게이팅 로직; 및
상기 L2 캐시가 파워 게이팅 상태에 돌입한 경우에 데이터의 일관성을 위해 L2 캐시에 존재하는 더티 데이터(dirty data)를 상기 시스템 레벨 캐시에 업데이트하는 데이터 업데이트 로직;을 포함하는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치.
An adaptive cache memory access device of a computing system comprising a CPU core, a hierarchical memory cache, and a plurality of intellectual properties (IPs) and having multiple clock frequency domains,
A CPU core including an L1 cache and an L2 cache in a core clock domain;
A bypass mode for bypassing access to the L2 cache in accordance with memory latency performance or a normal mode using the L2 cache, which is provided between the L1 cache and the L2 cache, A bypass controller; And
And a system level cache having a clock domain different from that of the CPU core and a plurality of IPs, the system level cache being installed between the CPU core and a plurality of IPs,
Wherein the bypass controller comprises:
Control logic for determining whether to bypass or use the L2 cache;
Power gating logic for controlling to supply or block power supplied to the L2 cache; And
And data update logic for updating dirty data present in the L2 cache to the system level cache for data consistency when the L2 cache enters a power gating state. Access device.
제1항에 있어서,
상기 바이패스 컨트롤러는,
상기 L2 캐시의 접근 레이턴시(LATL2)와 시스템 레벨 캐시의 접근 레이턴시(LATsys)를 비교하여 상기 LATL2가 LATsys 미만일 경우에 정상 모드를 수행하고, 상기 LATL2가 LATsys 이상일 경우에 바이패스 모드를 수행하는 것을 특징으로 하는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치.
The method according to claim 1,
Wherein the bypass controller comprises:
Compares the access latency (LAT sys) of the L2 cache access latency (LAT L2) and system-level cache of performing the normal mode if the LAT L2 the LAT sys is less than, and the LAT L2 is bypassed if LAT sys or more Mode of the computing system.
제2항에 있어서,
상기 정상 모드에서는 상기 L2 캐시를 사용하면서 CPU 코어가 정상적인 캐시 계층구조에서 동작하고,
상기 바이패스 모드에서는 상기 L2 캐시의 접근을 바이패싱하고 상기 시스템 레벨 캐시에 직접 접근하는 것을 특징으로 하는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치.
3. The method of claim 2,
In the normal mode, the CPU core operates in a normal cache hierarchical structure while using the L2 cache,
Wherein the bypass mode bypasses access of the L2 cache and directly accesses the system level cache.
삭제delete 제1항에 있어서,
상기 제어 로직은
상기 L2 캐시의 접근 레이턴시(LATL2)와 시스템 레벨 캐시의 접근 레이턴시(LATsys)를 계산하는 결정 알고리즘; 및
상기 결정 알고리즘이 수행되도록 상기 CPU 코어와 시스템 레벨 캐시의 클럭 주파수를 유지하는 주파수 프로파일러를 포함하는 것을 특징으로 하는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치.
The method according to claim 1,
The control logic
A decision algorithm for calculating the access latency (LAT L2 ) of the L2 cache and the access latency (LAT sys ) of the system level cache; And
And a frequency profiler for maintaining the clock frequency of the CPU core and the system level cache such that the decision algorithm is performed.
제1항에 있어서,
상기 데이터 업데이트 로직은 데이터 업데이트 도중에 해당 데이터의 변형을 방지하기 위해 상기 CPU 코어의 동작을 일시 정지시키는 것을 특징으로 하는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치.
The method according to claim 1,
Wherein the data update logic suspends operation of the CPU core to prevent modification of the data during data update.
제1항에 있어서,
상기 바이패스 컨트롤러는 상기 바이패스 모드와 정상 모드 중 어느 하나의 모드를 결정하는 과정을 DVFS(Dynamic Voltage-Frequency Scaling) 스케줄링 시간 할당량마다 수행하는 것을 특징으로 하는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치.
The method according to claim 1,
Wherein the bypass controller performs a process for determining a mode of either the bypass mode or the normal mode for each Dynamic Voltage-Frequency Scaling (DVFS) scheduling time allocation amount.
제1항에 있어서,
상기 바이패스 모드에서 정상 모드로 동작 모드가 변경될 경우에 상기 제어 로직은 L2 캐시가 동작되도록 상기 파워 게이팅 로직에 동작 모드 변경 상태를 알리고,
상기 정상 모드에서 바이패스 모드로 동작 모드가 변경될 경우에 상기 제어 로직은 상기 파워 게이팅 로직과 데이터 업데이트 로직에 동작 모드 변경 상태를 알리는 것을 특징으로 하는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 장치.
The method according to claim 1,
When the operation mode is changed from the bypass mode to the normal mode, the control logic notifies the power gating logic to the operation mode change state so that the L2 cache is operated,
Wherein the control logic informs the power gating logic and the data update logic of the operating mode change state when the operating mode is changed from the normal mode to the bypass mode.
CPU 코어, 계층적 메모리 캐시, 복수의 IP(Intellectual property)들로 구성되고, 다중 클럭 주파수 도메인을 갖는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 방법에 있어서,
상기 CPU 코어에 L1 캐시와 L2 캐시를 배치하고, 상기 CPU 코어와 복수의 IP들 사이에 시스템 레벨 캐시를 배치하여 메모리 계층 구조를 유지하는 단계;
상기 CPU 코어 내에 메모리 레이턴시(Latency) 성능에 따라 L2 캐시의 접근 바이패싱 여부를 결정하는 바이패스 컨트롤러를 설치하는 단계;
상기 바이패스 컨트롤러는 상기 CPU 코어의 클럭 주파수가 결정되면 L2 캐시의 접근 레이턴시(LATL2)와 시스템 레벨 캐시의 접근 레이턴시(LATsys)를 비교하여 L2 캐시의 사용 여부를 결정하는 단계; 및
상기 L2 캐시의 사용이 결정되면 상기 CPU 코어가 정상적인 메모리 계층 구조에서 동작하고, 상기 L2 캐시의 미사용이 결정되면 상기 L2 캐시의 접근을 바이패싱하고 상기 시스템 레벨 캐시에 직접 접근하는 단계;를 포함하고,
상기 L2 캐시의 접근을 바이패싱하고 상기 시스템 레벨 캐시에 직접 접근하는 단계는,
상기 L2 캐시에 공급되는 전력을 차단하도록 파워 게이팅을 실시하는 파워 게이팅 로직을 동작시키고, 상기 L2 캐시가 파워 게이팅 상태에 돌입한 경우, 데이터의 일관성을 위해 상기 L2 캐시에 존재하는 더티 데이터(dirty data)를 상기 시스템 레벨 캐시에 업데이트하는 데이터 업데이트 로직을 동작시키는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 방법.
1. An adaptive cache memory access method of a computing system comprising a CPU core, a hierarchical memory cache, and a plurality of intellectual properties (IPs) and having multiple clock frequency domains,
Placing an L1 cache and an L2 cache in the CPU core, and arranging a system level cache between the CPU core and a plurality of IPs to maintain a memory hierarchy;
Installing a bypass controller in the CPU core to determine whether to bypass access to the L2 cache according to memory latency performance;
Determining whether to use the L2 cache by comparing the access latency (LAT L2 ) of the L2 cache with the access latency (LAT sys ) of the system level cache when the clock frequency of the CPU core is determined; And
And if the use of the L2 cache is determined, the CPU core operates in a normal memory hierarchy and bypassing access of the L2 cache and direct access to the system level cache if the L2 cache is unused ,
Bypassing access of the L2 cache and directly accessing the system level cache comprises:
The L2 cache is operated by power gating logic that performs power gating to cut off power supplied to the L2 cache, and when the L2 cache enters a power gating state, dirty data existing in the L2 cache ) To the system level cache. ≪ RTI ID = 0.0 > [0002] < / RTI >
제9항에 있어서,
상기 바이패스 컨트롤러는,
상기 L2 캐시의 접근 레이턴시(LATL2)와 시스템 레벨 캐시의 접근 레이턴시(LATsys)를 비교하여 상기 LATL2가 LATsys 미만일 경우에 상기 L2 캐시를 사용하여 정상 모드를 수행하고, 상기 LATL2가 LATsys 이상일 경우에 상기 L2 캐시를 사용하지 않고 시스템 레벨 캐시에 직접 접근하는 바이패스 모드를 수행하는 것을 특징으로 하는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 방법.
10. The method of claim 9,
Wherein the bypass controller comprises:
Performing a normal mode using the L2 cache compared to the access latency (LAT L2) and the access latency (LAT sys) of the system-level cache, the L2 cache is the LAT L2 when LAT sys is less than, and the LAT L2 the LAT sys, a bypass mode for accessing the system level cache directly without using the L2 cache is performed.
제10항에 있어서,
상기 바이패스 컨트롤러는 상기 바이패스 모드와 정상 모드 중 어느 하나의 모드를 결정하는 과정을 DVFS(Dynamic Voltage-Frequency Scaling) 스케줄링 시간 할당량마다 수행하는 것을 특징으로 하는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 방법.
11. The method of claim 10,
Wherein the bypass controller performs a process for determining a mode of either the bypass mode or the normal mode for each Dynamic Voltage-Frequency Scaling (DVFS) scheduling time allocation amount.
삭제delete 삭제delete 제9항에 있어서,
상기 데이터 업데이트 로직이 동작되면 데이터 업데이트 도중에 해당 데이터의 변형을 방지하기 위해 상기 CPU 코어의 동작을 일시 정지시키는 것을 특징으로 하는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 방법.
10. The method of claim 9,
And when the data update logic is operated, suspends operation of the CPU core to prevent deformation of the data during data update.
제9항에 있어서,
상기 바이패스 컨트롤러는 상기 CPU 코어의 클럭 주파수가 결정되면 L2 캐시의 접근 레이턴시(LATL2)와 시스템 레벨 캐시의 접근 레이턴시(LATsys)를 비교하여 L2 캐시의 사용 여부를 결정하는 단계는,
상기 L2 캐시의 접근 레이턴시(LATL2)와 시스템 레벨 캐시의 접근 레이턴시(LATsys)를 계산하는 결정 알고리즘을 수행하고, 상기 결정 알고리즘이 수행되도록 상기 CPU 코어와 시스템 레벨 캐시의 클럭 주파수를 유지하는 단계를 것을 특징으로 하는 컴퓨팅 시스템의 적응적인 캐시 메모리 접근 방법.
10. The method of claim 9,
Wherein the bypass controller determines whether to use the L2 cache by comparing the access latency (LAT L2 ) of the L2 cache with the access latency (LAT sys ) of the system level cache when the clock frequency of the CPU core is determined,
Performing a decision algorithm to compute an access latency (LAT L2 ) of the L2 cache and an access latency (LAT sys ) of a system level cache, and maintaining a clock frequency of the CPU core and a system level cache such that the decision algorithm is performed The method comprising the steps of:
KR1020160162695A 2016-12-01 2016-12-01 Apparatus for Adaptive Cache Access in Computing System and Method thereof Active KR101863578B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160162695A KR101863578B1 (en) 2016-12-01 2016-12-01 Apparatus for Adaptive Cache Access in Computing System and Method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160162695A KR101863578B1 (en) 2016-12-01 2016-12-01 Apparatus for Adaptive Cache Access in Computing System and Method thereof

Publications (1)

Publication Number Publication Date
KR101863578B1 true KR101863578B1 (en) 2018-07-02

Family

ID=62913948

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160162695A Active KR101863578B1 (en) 2016-12-01 2016-12-01 Apparatus for Adaptive Cache Access in Computing System and Method thereof

Country Status (1)

Country Link
KR (1) KR101863578B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110569105A (en) * 2019-08-14 2019-12-13 上海交通大学 Distributed virtual machine adaptive memory consistency protocol and its design method, terminal
US11307634B1 (en) 2021-01-28 2022-04-19 Red Hat, Inc. Maintaining historical power level metadata for dynamic voltage and frequency scaling of processor instructions

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110569105A (en) * 2019-08-14 2019-12-13 上海交通大学 Distributed virtual machine adaptive memory consistency protocol and its design method, terminal
CN110569105B (en) * 2019-08-14 2023-05-26 上海交通大学 Distributed Virtual Machine Adaptive Memory Consistency Protocol and Its Design Method, Terminal
US11307634B1 (en) 2021-01-28 2022-04-19 Red Hat, Inc. Maintaining historical power level metadata for dynamic voltage and frequency scaling of processor instructions

Similar Documents

Publication Publication Date Title
US9423858B2 (en) Sharing power between domains in a processor package using encoded power consumption information from a second domain to calculate an available power budget for a first domain
CN102483646B (en) Altering performance of computational units heterogeneously according to performance sensitivity
JP5985708B2 (en) Managing power consumption in multi-core processors
CN107003685B (en) Maximum current protection of system
US9377841B2 (en) Adaptively limiting a maximum operating frequency in a multicore processor
CN103189814B (en) Method and apparatus for processing the thermal control of node
US9261949B2 (en) Method for adaptive performance optimization of the soc
US8769316B2 (en) Dynamically allocating a power budget over multiple domains of a processor
KR100998389B1 (en) Dynamic Memory Sizing for Power Savings
US8612781B2 (en) Method and apparatus for application of power density multipliers optimally in a multicore system
US8190863B2 (en) Apparatus and method for heterogeneous chip multiprocessors via resource allocation and restriction
US20110022857A1 (en) Throttling computational units according to performance sensitivity
US9342122B2 (en) Distributing power to heterogeneous compute elements of a processor
US20160378168A1 (en) Dynamic power management optimization
US20140359328A1 (en) Method and system for run-time reallocation of leakage current and dynamic power supply current
US20110022356A1 (en) Determining performance sensitivities of computational units
US20190146567A1 (en) Processor throttling based on accumulated combined current measurements
KR101655030B1 (en) Dynamic voltage frequency scaling method using slack-distribution based on task-characteristics, execution program thereof method and recorded medium of the program
US8959371B2 (en) Techniques for reducing processor power consumption through dynamic processor resource allocation
Grenat et al. 4.2 Increasing the performance of a 28nm x86-64 microprocessor through system power management
KR101863578B1 (en) Apparatus for Adaptive Cache Access in Computing System and Method thereof
JP2024525376A (en) System and method for controlling current supply in a multiprocessor core system via instruction per cycle reduction - Patents.com
Safayenikoo et al. NIZCache: Energy-efficient Non-uniform Cache Architecture for Chip-multiprocessors Based on Invalid and Zero Lines
Ofori-Attah et al. A survey of system level power management schemes in the dark-silicon era for many-core architectures

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20161201

PA0201 Request for examination
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20171129

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20180511

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20180528

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20180529

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20220419

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20230509

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20240520

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20250430

Start annual number: 8

End annual number: 8