KR20190013049A - 모놀리식 3차원 집적 기술 기반 캐시 메모리 및 이의 제어 방법 - Google Patents

모놀리식 3차원 집적 기술 기반 캐시 메모리 및 이의 제어 방법 Download PDF

Info

Publication number
KR20190013049A
KR20190013049A KR1020170096990A KR20170096990A KR20190013049A KR 20190013049 A KR20190013049 A KR 20190013049A KR 1020170096990 A KR1020170096990 A KR 1020170096990A KR 20170096990 A KR20170096990 A KR 20170096990A KR 20190013049 A KR20190013049 A KR 20190013049A
Authority
KR
South Korea
Prior art keywords
cache
cache bank
bank
variable
processor
Prior art date
Application number
KR1020170096990A
Other languages
English (en)
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 KR1020170096990A priority Critical patent/KR20190013049A/ko
Publication of KR20190013049A publication Critical patent/KR20190013049A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

모놀리식 3차원 집적 기술 기반 캐시 메모리 및 이의 제어 방법이 개시된다. 캐시 메모리는, 제1 캐시 뱅크, 제1 캐시 뱅크 위에 적층되는 제2 캐시 뱅크 및 제1 캐시 뱅크와 제2 캐시 뱅크 사이에 적층되며, 제1 캐시 뱅크 또는 제2 캐시 뱅크로 동작하는 가변 캐시 뱅크를 포함하되, 제1 캐시 뱅크, 제2 캐시 뱅크 및 가변 캐시 뱅크는 모놀리식(Monolithic) 3차원 집적 기술을 이용하여 적층되고, 모놀리식 인터-타이어 비아(MIV: Monolithic Inter-tier Via)에 의하여 연결된다.

Description

모놀리식 3차원 집적 기술 기반 캐시 메모리 및 이의 제어 방법{Monolithic 3D(M3D) integration-based cache memory and control method thereof}
본 발명은 캐시 메모리에 관한 것으로서, 보다 상세하게는 모놀리식 3차원 집적 기술 기반 가변 캐시 메모리 및 이의 제어 방법에 관한 것이다.
캐시메모리는 현대의 컴퓨터 시스템에서 프로세서와 메인 메모리의 성능 차이를 극복하기 위하여, 프로세서가 최근 자주 사용한 데이터의 일부를 저장하는 역할을 담당하고 있다. 현대의 컴퓨터 시스템은 제2 계층(L2) 캐시 또는 제3 계층(L3) 캐시까지 계층 구조형 캐시 메모리를 채택하고 있다. 프로세서가 데이터를 요청하면, 제1 계층(L1) 캐시에서부터 원하는 데이터를 찾고, 제1 계층 캐시에 원하는 데이터가 없으면, 다음 계층의 캐시(제2 계층 캐시)에서 원하는 데이터를 찾는 방식으로, 데이터 탐색이 이루어지게 된다. 기존 프로세서들은 캐시 메모리의 용량 및 뱅크 개수가 고정되어 있다.
하지만, 어플리케이션마다 요구하는 데이터의 총량 및 데이터의 크기가 다르기 때문에, 캐시메모리 용량 및 캐시뱅크 개수를 고정하여 사용할 경우, 어플리케이션마다 성능을 충분히 낼 수 없다. 특히, 제1 계층(L1) 캐시보다 용량이 훨씬 큰 제2 계층(L2) 캐시와 제3 계층(L3) 캐시는 캐시 용량에 따라 캐시접근 적중률(Cache hit ratio)이 크게 달라지고, 제2 계층(L2) 캐시의 접근 적중이 많을수록, 하위 계층 캐시에 접근이 감소하여 성능 및 에너지 효율이 대폭 향상될 수 있다.
한편, 종래의 2차원 구조 기반의 캐시 메모리는 물리적인 크기의 증가로 인해 와이어(wire)의 길이가 길어지게 된다. 와이어의 길이가 길어질수록, 와이어 접근 시간은 대폭 증가하는데, 캐시 메모리 접근에 소요되는 시간에서 와이어 접근 시간이 큰 부분을 차지하기 때문에, 캐시메모리의 크기가 커지게 되면, 캐시메모리 접근 성능이 대폭 하락하게 된다.
본 발명은 모놀리식 3차원(Monolithic 3D) 집적 기술을 이용하여 계층별 캐시뱅크가 3차원 구조로 배치되며, 캐시뱅크의 계층이 가변적으로 운용되는 모놀리식 3차원 집적 기술 기반 캐시 메모리 및 이의 제어 방법을 제공하기 위한 것이다.
본 발명의 일 측면에 따르면, 프로세서에 구비되는 캐시 메모리가 개시된다.
본 발명의 실시예에 따른 캐시 메모리는, 제1 캐시 뱅크, 상기 제1 캐시 뱅크 위에 적층되는 제2 캐시 뱅크 및 상기 제1 캐시 뱅크와 상기 제2 캐시 뱅크 사이에 적층되며, 상기 제1 캐시 뱅크 또는 상기 제2 캐시 뱅크로 동작하는 가변 캐시 뱅크를 포함하되, 상기 제1 캐시 뱅크, 상기 제2 캐시 뱅크 및 상기 가변 캐시 뱅크는 모놀리식(Monolithic) 3차원 집적 기술을 이용하여 적층되고, 모놀리식 인터-타이어 비아(MIV: Monolithic Inter-tier Via)에 의하여 연결된다.
상기 제1 캐시 뱅크는 상기 프로세서의 제2 계층(L2) 캐시 뱅크이고, 상기 제2 캐시 뱅크는 상기 프로세서의 제3 계층(L3) 캐시 뱅크이다.
상기 프로세서는 상기 제1 캐시 뱅크 및 상기 제2 캐시 뱅크의 사용 상황 정보를 모니터링하고, 상기 모니터링된 사용 상황 정보와 어플리케이션의 요구 성능 정보에 따라 상기 가변 캐시 뱅크를 상기 제1 캐시 뱅크 및 상기 제2 캐시 뱅크 중 어느 하나로 할당한다.
상기 사용 상황 정보는 상기 제1 캐시 뱅크 및 상기 제2 캐시 뱅크의 캐시 접근 적중률(Cache hit ratio) 및 캐시 사용량을 포함한다.
상기 요구 성능 정보는 상기 어플리케이션이 요구하는 데이터의 총량 및 크기를 포함한다.
상기 프로세서는 상기 가변 캐시 뱅크를 상기 제1 캐시 뱅크 또는 상기 제2 캐시 뱅크로 할당하여 각 캐시 뱅크의 개수를 조절하는 경우, 캐시의 연관도(way)를 증가 또는 감소시키는 방식을 이용한다.
상기 가변 캐시 뱅크가 상기 제1 캐시 뱅크로 할당될 경우, 상기 제1 캐시 뱅크의 연관도(way)는 증가하고, 상기 제2 캐시 뱅크의 연관도(way)는 감소하며, 상기 가변 캐시 뱅크가 상기 제2 캐시 뱅크로 할당될 경우, 상기 제1 캐시 뱅크의 연관도(way)는 감소하고, 상기 제2 캐시 뱅크의 연관도(way)는 증가한다.
본 발명의 다른 측면에 따르면, 제1 캐시 뱅크, 제2 캐시 뱅크 및 상기 제1 캐시 뱅크 또는 상기 제2 캐시 뱅크로 동작하는 가변 캐시 뱅크를 포함하는 캐시 메모리를 구비한 프로세서가 수행하는 캐시 메모리 제어 방법이 개시된다.
본 발명의 실시예에 따른 캐시 메모리 제어 방법은, 상기 제1 캐시 뱅크 및 상기 제2 캐시 뱅크의 사용 상황 정보를 모니터링하는 단계, 상기 모니터링된 사용 상황 정보와 어플리케이션의 요구 성능 정보에 따라 상기 제1 캐시 뱅크 및 상기 제2 캐시 뱅크 중에서 상기 가변 캐시 뱅크를 할당할 캐시 뱅크를 결정하는 단계 및 상기 가변 캐시 뱅크를 상기 결정된 캐시 뱅크로 할당하는 단계를 포함한다.
상기 가변 캐시 뱅크를 할당할 캐시 뱅크를 결정하는 단계 이후 및 상기 가변 캐시 뱅크를 상기 결정된 캐시 뱅크로 할당하는 단계 이전에, 상기 가변 캐시 뱅크에 저장된 데이터를 메인 메모리로 이동시키는 단계를 더 포함한다.
본 발명의 실시예에 따른 모놀리식 3차원 집적 기술 기반 캐시 메모리는, 모놀리식 3차원(Monolithic 3D) 집적 기술을 이용하여 계층별 캐시뱅크가 3차원 구조로 배치되며, 캐시뱅크의 계층이 가변적으로 운용됨으로써, 프로세서에 추가적인 오버헤드 없이 바로 적용이 가능할 뿐만 아니라, 상위 계층 캐시의 캐시접근 적중률이 증가되어 하위 계층 캐시에 접근이 감소될 수 있으며, 이에 따라 에너지 소모가 감소할 수 있다.
도 1은 본 발명의 실시예에 따른 모놀리식 3차원 집적 기술 기반 캐시 메모리의 구조를 개략적으로 예시하여 나타낸 도면.
도 2는 도 1의 본 발명의 실시예에 따른 모놀리식 3차원 집적 기술 기반 캐시 메모리의 제어 방법을 나타낸 흐름도.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하, 본 발명의 다양한 실시예들을 첨부된 도면을 참조하여 상술하겠다.
도 1은 본 발명의 실시예에 따른 모놀리식 3차원 집적 기술 기반 캐시 메모리의 구조를 개략적으로 예시하여 나타낸 도면이다.
도 1을 참조하면, 본 발명의 실시예에 따른 모놀리식 3차원(Monolithic 3D) 집적 기술 기반 캐시 메모리는 프로세서(100) 위에 3차원 구조로 배치된다.
즉, 본 발명의 실시예에 따른 모놀리식 3차원 집적 기술 기반 캐시 메모리는 프로세서(100) 위에 적층되는 제2 계층(L2) 캐시 뱅크(10), 제2 계층(L2) 캐시 뱅크(10) 위에 적층되는 가변(Reconfigurable) 캐시 뱅크(20) 및 가변 캐시 뱅크(20) 위에 적층되는 제3 계층(L3) 캐시 뱅크(30)를 포함한다.
여기서, 가변 캐시 뱅크(20)는 제2 계층(L2) 캐시 뱅크(10) 및 제3 계층(L3) 캐시 뱅크(30) 중 어느 하나로 동작한다. 프로세서(100)는 제2 계층(L2) 캐시 뱅크(10) 및 제3 계층(L3) 캐시 뱅크(30)의 사용 상황 정보를 모니터링하고, 모니터링된 사용 상황 정보와 어플리케이션의 요구 성능 정보에 따라 가변 캐시 뱅크(20)를 제2 계층(L2) 캐시 뱅크(10) 및 제3 계층(L3) 캐시 뱅크(30) 중 어느 하나로 할당한다.
예를 들어, 프로세서(100)는 최근 자주 사용한 어플리케이션 데이터의 일부를 캐시 메모리에 저장시킬 수 있으며, 캐시 메모리로 데이터를 요청하는 경우, 상위 계층 캐시 뱅크부터 하위 계층 캐시 뱅크로 순차적으로 원하는 데이터를 탐색할 수 있다. 즉, 프로세서(100)는 우선 제1 계층(L1) 캐시 뱅크(미도시)에서 원하는 데이터를 탐색하고, 원하는 데이터가 없으면, 다음으로 제2 계층(L2) 캐시 뱅크(10)에서 원하는 데이터를 탐색하고, 원하는 데이터가 없으면, 다음으로 제3 계층(L3) 캐시 뱅크(30)에서 원하는 데이터를 탐색할 수 있다. 이때, 프로세서(100)는 성능 향상을 위하여 제2 계층(L2) 캐시 뱅크(10) 및 제3 계층(L3) 캐시 뱅크(30)의 사용 상황 정보와 어플리케이션의 요구 성능 정보를 고려하여 가변 캐시 뱅크(20)를 제2 계층(L2) 캐시 뱅크(10) 및 제3 계층(L3) 캐시 뱅크(30) 중 어느 하나로 할당하여 운용할 수 있다. 여기서, 요구 성능 정보는 어플리케이션이 요구하는 데이터의 총량 및 크기 등의 정보를 포함할 수 있고, 사용 상황 정보는 제2 계층(L2) 캐시 뱅크(10) 및 제3 계층(L3) 캐시 뱅크(30)의 캐시 접근 적중률(Cache hit ratio) 및 캐시 사용량 등의 정보를 포함할 수 있다.
한편, 본 발명의 실시예에 따른 모놀리식 3차원 집적 기술 기반 캐시 메모리는 모놀리식 3차원(Monolithic 3D) 집적 기술을 이용하여 프로세서(100) 위에 복수의 캐시뱅크(10, 20, 30)가 3차원으로 배치된 구조를 가진다.
종래의 2차원 구조 기반의 캐시 메모리에 가변 캐시 뱅크(20)가 적용되어 가변 캐시 뱅크(20)가 가변적으로 할당될 경우, 캐시 접근에 소모되는 사이클(cycles) 수가 변하게 된다. 즉, 프로세서(100)와 캐시뱅크들은 2차원 와이어(wire)를 통해서 연결되는데, 2차원 구조 기반의 캐시 메모리에 가변 캐시 뱅크(20)가 적용될 경우, 2차원 와이어의 길이가 증가하게 되어 성능 저하가 크게 발생할 수 있다. 캐시 접근에 소모되는 사이클 수가 변하게 될 경우, 프로세서(100)는 캐시 접근 시 발생시켜야 하는 파이프라인 스톨의 개수를 가변적으로 설정해야 하기 때문에, 구현 오버헤드가 증가하게 된다. 이로 인하여, 캐시 메모리가 2차원 구조인 경우에는 에너지 소모가 크게 증가하여, 결국 성능 및 에너지 측면에서 손실이 발생한다.
이와 같은 종래의 2차원 구조 기반의 캐시 메모리에서의 문제를 해소하기 위하여, 본 발명의 실시예에 따른 모놀리식 3차원 집적 기술 기반 캐시 메모리는, 가변 캐시 뱅크(20)를 포함하는 복수의 캐시뱅크(10, 20, 30)가 모놀리식 3차원 집적 기술을 이용하여 적층되고, 적층된 복수의 캐시뱅크(10, 20, 30)가 모놀리식 인터-타이어 비아(MIV: Monolithic Inter-tier Via)(200)를 통하여 연결된다.
즉, 적층된 복수의 캐시뱅크(10, 20, 30)가 모놀리식 인터-타이어 비아(200)를 통하여 연결되면, 제2 계층(L2) 캐시 뱅크(10) 또는 제3 계층(L3) 캐시 뱅크(30)가 추가되더라도 캐시 접근 시간의 증가가 미미하여, 캐시 접근에 소모되는 사이클 수를 유지한 상태에서 캐시 용량 및 캐시뱅크의 개수가 증가될 수 있다. 이와 같은 경우, 프로세서(100)는 캐시 메모리로 원하는 데이터 요청 시, 파이프라인 스톨의 개수를 가변적으로 조절할 필요가 없어 성능이 향상될 수 있다.
또한, 모놀리식 인터-타이어 비아(200)는 2차원 와이어에 비하여 에너지 소모가 매우 작기 때문에, 가변 캐시 뱅크(20)가 가변적으로 할당되더라도 에너지 소모의 증가가 미미하다.
보다 자세히 설명하면, 본 발명의 실시예에 따른 모놀리식 3차원 집적 기술 기반 캐시 메모리는 가변 캐시 뱅크(20)를 포함하는 가변 캐시 메모리로서, 각 캐시뱅크(10, 20, 30)가 모놀리식 인터-타이어 비아(200)로 연결되어 프로세서(100) 위에 적층된 구조를 가진다.
여기서, 가변 캐시 뱅크(20)는 제2 계층(L2) 캐시 뱅크(10) 또는 제3 계층(L3) 캐시 뱅크(30)로 사용되며, 어플리케이션의 요구 성능 정보에 따라 가변 캐시 뱅크(20)가 가변적으로 운용될 수 있다.
예를 들어, 제2 계층(L2) 캐시 뱅크(10)의 개수가 N개, 제2 계층(L2) 캐시 뱅크(10)의 캐시 접근 시간이 X 사이클만큼 소모된다고 가정할 때, M개의 캐시 뱅크가 추가되면, X 사이클이 유지되는 M개의 캐시뱅크가 동적으로 제2 계층(L2) 캐시 뱅크(10) 또는 제3 계층(L3) 캐시 뱅크(30)로 할당될 수 있다. 2차원 구조의 캐시 메모리의 경우, 캐시 뱅크가 하나만 증가되더라도 제2 계층(L2) 캐시 뱅크(10)의 캐시 접근 시간이 X+1 사이클로 증가할 수 있다. 그러나, 본 발명의 실시예에 따른 모놀리식 3차원 집적 기술 기반 캐시 메모리의 경우, 모놀리식 3차원 집적 기술에서 사용되는 인터-타이어 비아(200)가 2차원 와이어보다 캐시 접근 시간이 훨신 짧기 때문에, X 사이클을 유지할 수 있는 캐시 뱅크의 개수가 훨씬 많아지므로, X 사이클의 캐시 접근 시간이 유지된 상태에서 캐시 용량 및 캐시 뱅크의 병렬성이 증가될 수 있다.
가변 캐시 뱅크(20)가 제2 계층(L2) 캐시 뱅크(10) 또는 제3 계층(L3) 캐시 뱅크(30)로 할당되어, 제2 계층(L2) 캐시 뱅크(10) 및 제3 계층(L3) 캐시 뱅크(30)의 개수가 조절되는 경우, 캐시의 연관도(way)를 증가 또는 감소시키는 방식이 이용될 수 있다.
즉, 동적으로 제2 계층(L2) 캐시 뱅크(10) 및 제3 계층(L3) 캐시 뱅크(30)의 개수가 조절되는 경우, 캐시 세트의 개수를 증가 또는 감소시키는 것이 아니라, 캐시의 연관도를 증가 또는 감소시키는 것으로 설정될 수 있다.
캐시 세트의 개수를 증가 또는 감소시키는 경우, 캐시 접근 시 사용하는 주소 공간에서 태그와 인덱스 비트의 개수가 조절되어야 함에 따라 하드웨어 구현 오버헤드가 추가되기 때문에, 캐시 주소 공간 조정이 필요 없도록 캐시의 연관도를 증가 또는 감소시키는 방식이 적용될 수 있다.
도 2는 도 1의 본 발명의 실시예에 따른 모놀리식 3차원 집적 기술 기반 캐시 메모리의 제어 방법을 나타낸 흐름도이다.
도 2에 도시된 모놀리식 3차원 집적 기술 기반 캐시 메모리의 제어 방법은 프로세서(100)에 의하여 수행될 수 있다.
S210 단계에서, 프로세서(100)는 제2 계층(L2) 캐시 뱅크(10) 및 제3 계층(L3) 캐시 뱅크(30)의 사용 상황 정보를 모니터링한다. 예를 들어, 사용 상황 정보는 제2 계층(L2) 캐시 뱅크(10) 및 제3 계층(L3) 캐시 뱅크(30)의 캐시 접근 적중률(Cache hit ratio) 및 캐시 사용량을 포함할 수 있다.
S220 단계에서, 프로세서(100)는 모니터링된 사용 상황 정보와 어플리케이션의 요구 성능 정보에 따라 제2 계층(L2) 캐시 뱅크(10) 및 제3 계층(L3) 캐시 뱅크(30) 중에서 가변 캐시 뱅크(20)를 할당할 캐시 뱅크를 결정한다. 예를 들어, 요구 성능 정보는 어플리케이션이 요구하는 데이터의 총량 및 크기를 포함할 수 있다.
S230 단계에서, 프로세서(100)는 가변 캐시 뱅크(20)에 저장된 데이터를 메인 메모리로 이동시킨다. 예를 들어, 메인 메모리로 이동되는 데이터는 가변 캐시 뱅크(20)에 저장된 데이터 중에서 수정된 후 메인 메모리로 복사되지 않은 데이터일 수 있다.
S240 단계에서, 프로세서(100)는 가변 캐시 뱅크(20)를 결정된 캐시 뱅크로 할당한다.
예를 들어, 가변 캐시 뱅크(20)가 제2 계층(L2) 캐시 뱅크(10)로 할당될 경우, 제2 계층(L2) 캐시 뱅크(10)의 연관도(way)는 증가하고, 제3 계층(L3) 캐시 뱅크(30)의 연관도(way)는 감소할 수 있다. 이와 반대로, 가변 캐시 뱅크(20)가 제3 계층(L3) 캐시 뱅크(30)로 할당될 경우, 제2 계층(L2) 캐시 뱅크(10)의 연관도(way)는 감소하고, 제3 계층(L3) 캐시 뱅크(30)의 연관도(way)는 증가할 수 있다.
한편, 전술된 실시예의 구성 요소는 프로세스적인 관점에서 용이하게 파악될 수 있다. 즉, 각각의 구성 요소는 각각의 프로세스로 파악될 수 있다. 또한 전술된 실시예의 프로세스는 장치의 구성 요소 관점에서 용이하게 파악될 수 있다.
또한 앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
10: 제2 계층(L2) 캐시 뱅크
20: 가변(Reconfigurable) 캐시 뱅크
30: 제3 계층(L3) 캐시 뱅크
100: 프로세서
200: 모놀리식 인터-타이어 비아(MIV: Monolithic Inter-tier Via)

Claims (9)

  1. 프로세서에 구비되는 캐시 메모리에 있어서,
    제1 캐시 뱅크;
    상기 제1 캐시 뱅크 위에 적층되는 제2 캐시 뱅크; 및
    상기 제1 캐시 뱅크와 상기 제2 캐시 뱅크 사이에 적층되며, 상기 제1 캐시 뱅크 또는 상기 제2 캐시 뱅크로 동작하는 가변 캐시 뱅크를 포함하되,
    상기 제1 캐시 뱅크, 상기 제2 캐시 뱅크 및 상기 가변 캐시 뱅크는 모놀리식(Monolithic) 3차원 집적 기술을 이용하여 적층되고, 모놀리식 인터-타이어 비아(MIV: Monolithic Inter-tier Via)에 의하여 연결되는 것을 특징으로 하는 캐시 메모리.
  2. 제1항에 있어서,
    상기 제1 캐시 뱅크는 상기 프로세서의 제2 계층(L2) 캐시 뱅크이고,
    상기 제2 캐시 뱅크는 상기 프로세서의 제3 계층(L3) 캐시 뱅크인 것을 특징으로 하는 캐시 메모리.
  3. 제1항에 있어서,
    상기 프로세서는 상기 제1 캐시 뱅크 및 상기 제2 캐시 뱅크의 사용 상황 정보를 모니터링하고, 상기 모니터링된 사용 상황 정보와 어플리케이션의 요구 성능 정보에 따라 상기 가변 캐시 뱅크를 상기 제1 캐시 뱅크 및 상기 제2 캐시 뱅크 중 어느 하나로 할당하는 것을 특징으로 하는 캐시 메모리.
  4. 제3항에 있어서,
    상기 사용 상황 정보는 상기 제1 캐시 뱅크 및 상기 제2 캐시 뱅크의 캐시 접근 적중률(Cache hit ratio) 및 캐시 사용량을 포함하는 것을 특징으로 하는 캐시 메모리.
  5. 제3항에 있어서,
    상기 요구 성능 정보는 상기 어플리케이션이 요구하는 데이터의 총량 및 크기를 포함하는 것을 특징으로 하는 캐시 메모리.
  6. 제3항에 있어서,
    상기 프로세서는 상기 가변 캐시 뱅크를 상기 제1 캐시 뱅크 또는 상기 제2 캐시 뱅크로 할당하여 각 캐시 뱅크의 개수를 조절하는 경우, 캐시의 연관도(way)를 증가 또는 감소시키는 방식을 이용하는 것을 특징으로 하는 캐시 메모리.
  7. 제6항에 있어서,
    상기 가변 캐시 뱅크가 상기 제1 캐시 뱅크로 할당될 경우, 상기 제1 캐시 뱅크의 연관도(way)는 증가하고, 상기 제2 캐시 뱅크의 연관도(way)는 감소하며,
    상기 가변 캐시 뱅크가 상기 제2 캐시 뱅크로 할당될 경우, 상기 제1 캐시 뱅크의 연관도(way)는 감소하고, 상기 제2 캐시 뱅크의 연관도(way)는 증가하는 것을 특징으로 하는 캐시 메모리.
  8. 제1 캐시 뱅크, 제2 캐시 뱅크 및 상기 제1 캐시 뱅크 또는 상기 제2 캐시 뱅크로 동작하는 가변 캐시 뱅크를 포함하는 캐시 메모리를 구비한 프로세서가 수행하는 캐시 메모리 제어 방법에 있어서,
    상기 제1 캐시 뱅크 및 상기 제2 캐시 뱅크의 사용 상황 정보를 모니터링하는 단계;
    상기 모니터링된 사용 상황 정보와 어플리케이션의 요구 성능 정보에 따라 상기 제1 캐시 뱅크 및 상기 제2 캐시 뱅크 중에서 상기 가변 캐시 뱅크를 할당할 캐시 뱅크를 결정하는 단계; 및
    상기 가변 캐시 뱅크를 상기 결정된 캐시 뱅크로 할당하는 단계를 포함하는 캐시 메모리 제어 방법.
  9. 제8항에 있어서,
    상기 가변 캐시 뱅크를 할당할 캐시 뱅크를 결정하는 단계 이후 및 상기 가변 캐시 뱅크를 상기 결정된 캐시 뱅크로 할당하는 단계 이전에,
    상기 가변 캐시 뱅크에 저장된 데이터를 메인 메모리로 이동시키는 단계를 더 포함하는 캐시 메모리 제어 방법.


KR1020170096990A 2017-07-31 2017-07-31 모놀리식 3차원 집적 기술 기반 캐시 메모리 및 이의 제어 방법 KR20190013049A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170096990A KR20190013049A (ko) 2017-07-31 2017-07-31 모놀리식 3차원 집적 기술 기반 캐시 메모리 및 이의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170096990A KR20190013049A (ko) 2017-07-31 2017-07-31 모놀리식 3차원 집적 기술 기반 캐시 메모리 및 이의 제어 방법

Publications (1)

Publication Number Publication Date
KR20190013049A true KR20190013049A (ko) 2019-02-11

Family

ID=65370107

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170096990A KR20190013049A (ko) 2017-07-31 2017-07-31 모놀리식 3차원 집적 기술 기반 캐시 메모리 및 이의 제어 방법

Country Status (1)

Country Link
KR (1) KR20190013049A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200104561A (ko) * 2019-02-27 2020-09-04 고려대학교 산학협력단 삼차원 크로스바 네트워크 기반의 그래픽 처리유닛
US20230029860A1 (en) * 2021-07-29 2023-02-02 Arm Limited Multi-dimensional cache architecture
US11954040B2 (en) * 2020-06-15 2024-04-09 Arm Limited Cache memory architecture

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200104561A (ko) * 2019-02-27 2020-09-04 고려대학교 산학협력단 삼차원 크로스바 네트워크 기반의 그래픽 처리유닛
US11954040B2 (en) * 2020-06-15 2024-04-09 Arm Limited Cache memory architecture
US20230029860A1 (en) * 2021-07-29 2023-02-02 Arm Limited Multi-dimensional cache architecture
US11899583B2 (en) * 2021-07-29 2024-02-13 Arm Limited Multi-dimensional cache architecture

Similar Documents

Publication Publication Date Title
EP2642398B1 (en) Coordinated prefetching in hierarchically cached processors
US8341357B2 (en) Pre-fetching for a sibling cache
US10067872B2 (en) Memory speculation for multiple memories
US8645642B2 (en) Tracking dynamic memory reallocation using a single storage address configuration table
US9208094B2 (en) Managing and sharing storage cache resources in a cluster environment
US10255190B2 (en) Hybrid cache
US9223712B2 (en) Data cache method, device, and system in a multi-node system
US8943294B2 (en) Software architecture for service of collective memory and method for providing service of collective memory using the same
GB2509755A (en) Partitioning a shared cache using masks associated with threads to avoiding thrashing
JP2011129101A (ja) キャッシュメモリにおけるキャッシュラインの置き換え
KR101587579B1 (ko) 가상화 시스템에서 메모리 조정방법
JP4036206B2 (ja) セットアソシアティブキャッシュシステム及びキャッシュメモリの制御方法
US8566532B2 (en) Management of multipurpose command queues in a multilevel cache hierarchy
JP7205033B2 (ja) キャッシュの割当方法と装置、記憶媒体、電子装置
KR20190013049A (ko) 모놀리식 3차원 집적 기술 기반 캐시 메모리 및 이의 제어 방법
US9104583B2 (en) On demand allocation of cache buffer slots
CN106534308A (zh) 一种分布式存储系统中解决数据块访问热点的方法及装置
JP6042170B2 (ja) キャッシュ制御装置及びキャッシュ制御方法
KR20100062958A (ko) 컴퓨팅 자원들을 제어하는 기술
EP2757475A2 (en) Method and system for dynamically changing page allocator
US11340832B2 (en) Concept for controlling a memory performance in a computer system
US10997077B2 (en) Increasing the lookahead amount for prefetching
US20120210070A1 (en) Non-blocking data move design
CN115640098A (zh) 一种虚拟机异构内存池化方法和系统
WO2015161804A1 (zh) 一种Cache分区的方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application