KR101563192B1 - 멀티스레드 프로세서의 캐시 메모리 장치 - Google Patents

멀티스레드 프로세서의 캐시 메모리 장치 Download PDF

Info

Publication number
KR101563192B1
KR101563192B1 KR1020130163485A KR20130163485A KR101563192B1 KR 101563192 B1 KR101563192 B1 KR 101563192B1 KR 1020130163485 A KR1020130163485 A KR 1020130163485A KR 20130163485 A KR20130163485 A KR 20130163485A KR 101563192 B1 KR101563192 B1 KR 101563192B1
Authority
KR
South Korea
Prior art keywords
cache
sram
bit
threads
area
Prior art date
Application number
KR1020130163485A
Other languages
English (en)
Other versions
KR20150075484A (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 KR1020130163485A priority Critical patent/KR101563192B1/ko
Publication of KR20150075484A publication Critical patent/KR20150075484A/ko
Application granted granted Critical
Publication of KR101563192B1 publication Critical patent/KR101563192B1/ko

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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 멀티스레드 구조 프로세서 환경에서 캐시 메모리 접근 시 소요되는 사이클 수를 크게 단축시켜 전체 프로세서의 성능 및 메모리 접근 효율을 대폭 향상시킬 수 있는 멀티스레드 프로세서의 캐시 메모리 장치에 관한 것이다.
본 발명에 따른 멀티스레드 프로세서의 캐시 메모리 장치는, 상기 멀티스레드의 스레드 수만큼 분할된 복수의 SRAM 뱅크 형태로 구성되고, 상기 각 SRAM 뱅크는 상기 각 스레드의 캐시로 동작하도록 구성되는 것을 특징으로 한다.
또한, 본 발명의 멀티스레드 프로세서의 캐시 메모리 장치는, 각 스레드 마다 고유한 캐시로 동작하기 위한 영역과 공유 메모리로 사용되기 위한 영역으로 분할될 수 있는 것을 특징으로 한다.

Description

멀티스레드 프로세서의 캐시 메모리 장치{CACHE MEMORY DEVICE ON MULTI-THREAD PROCESSOR}
본 발명은 캐시 메모리 장치에 관한 것으로서, 보다 상세하게는 특히 멀티스레드 구조의 프로세서 환경에서 메모리 접근 방식의 효율을 개선할 수 있는 캐시 메모리 설계에 관한 것이다.
기존의 프로세서에서 캐시의 일반적인 동작은 직접 사상 캐시, 완전 연관 캐시, 세트 연관 캐시가 있다.
도 6은 종래 직접 사상 캐시를 나타낸 블록도이다. 직접 사상 캐시는 가장 단순한 사상 기법으로서 주기억 장치로부터의 각각의 라인은 캐시의 단 한 군데에만 적재가 가능하다. 즉, 도 6과 같이 메인 메모리의 한 라인은 캐시 메모리의 오직 한 군데에만 저장이 가능한 것으로 이렇게 사상을 하면 구조 자체가 매우 간단해지는 장점이 있는 반면에 캐시 메모리에 여분의 공간이 남더라도 다른 값들은 캐시에 저장이 되지 않기 때문에 성능적인 측면에서 효율이 떨어지는 단점이 있다.
완전 연관 캐시는 캐시 라인이 캐시의 어느 위치든지 지정될 수 있는 것으로서 대부분의 충돌 실패를 피할 수 있다. 그러나 이 방법은 매 액세스마다 원하는 태그를 찾기 위해서 수천 개의 태그를 비교해야 하기 때문에 실제로 구현하기가 적합하지 않다. 이러한 직접 사상 캐시와 완전 연관 캐시 동작을 절충한 방법이 세트 연관 캐시가 있다.
그러나, 상기와 같은 기존의 캐시는 어떠한 사상 기법을 선택하더라도 결국 모든 캐시 데이터 및 태그 메모리는 하나의 SRAM으로 설계되어 있다. 이러한 구조는 각 스레드가 개별적인 메모리 공간을 가지는 멀티스레드 구조 프로세서에 적합하지 않다. 각 스레드 값에 의해 접근해야 하는 태그 영역이 다른데 비해 SRAM의 특성상 한 사이클당 한 번의 읽기, 쓰기밖에 수행할 수 없으므로 접근하고자 하는 주소가 다른 모든 스레드가 자신이 원하는 태그 영역을 참조하기 위해서는 최대 스레드 수만큼 사이클이 소요되는 문제가 발생한다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 스레드의 태그 주소 및 캐시 데이터를 저장해두는 공간을 독립적으로 소유하여 한 사이클에 모든 스레드가 동시에 자신의 캐시메모리로 접근할 수 있도록 하는 멀티스레드 프로세서의 캐시 메모리 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 제어 파라미터 입력을 통해 캐시 메모리 중 일부 영역은 공유 메모리로 사용할 수 있도록 하는 멀티스레드 프로세서의 캐시 메모리 장치를 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명에 따른 멀티스레드 프로세서의 캐시 메모리 장치는, 상기 멀티스레드의 스레드 수만큼 분할된 복수의 SRAM 뱅크 형태로 구성되고, 상기 각 SRAM 뱅크는 상기 각 스레드의 캐시로 동작하도록 구성되는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 본 발명의 멀티스레드 프로세서의 캐시 메모리 장치는, 상기 멀티스레드의 스레드 수를 기준으로 "스레드 수 / SRAM 뱅크 = 2, 4, 8 ... 2n"의 조건을 만족하도록 분할된 복수의 SRAM 뱅크 형태로 구성되고, 상기 각 SRAM 뱅크는 스레드들의 캐시로 동작하도록 구성되는 것을 특징으로 한다.
본 발명의 확장 실시예에 따르면, 본 발명의 멀티스레드 프로세서의 캐시 메모리 장치는, 각 스레드 마다 고유한 캐시로 동작하기 위한 영역과 공유 메모리로 사용되기 위한 영역으로 분할될 수 있는 것을 특징으로 한다.
본 발명에 따른 멀티스레드 프로세서의 캐시 메모리 장치에 의하면, 각 스레드가 동시에 캐시 접근을 요청하는 멀티스레드 구조 프로세서 환경에서 캐시 메모리 접근 시 소요되는 사이클 수를 크게 단축시켜 전체 프로세서의 성능 및 메모리 접근 효율을 대폭 향상시킬 수 있는 효과가 있다.
또한, 프로세서 내의 한 개의 메모리를 캐시 동작과 공유 메모리 용도로 공유하여 사용할 수 있어 프로세서의 자원 사용 효율을 향상시킬 수 있는 효과가 있다.
도 1은 본 발명의 바람직한 실시예에 따른 멀티스레드 프로세서의 캐시 메모리 장치의 구조를 나타낸 블록도.
도 2는 본 발명에 따른 멀티스레드 프로세서의 캐시 메모리 장치의 확장 실시예를 나타낸 블록도.
도 3은 본 발명에 따른 제어 유닛의 기능 및 동작을 설명하기 위한 도면.
도 4는 본 발명에 따른 멀티스레드 프로세서의 캐시 메모리 장치의 또 다른 실시예를 나타낸 블록도.
도 5는 본 발명에 따른 SRAM 뱅크의 세트 연관 캐시 동작을 나타낸 블록도.
도 6은 종래 직접 사상 캐시를 나타낸 블록도.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 명세서에서 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 발명의 멀티스레드 프로세서의 캐시 메모리 장치는 프로세서의 각 스레드마다 고유의 캐시 메모리를 SRAM 뱅크 형태로 소유하도록 하고, 각각의 스레드의 태그 주소 및 캐시 데이터를 저장해두는 공간을 독립적으로 소유하도록 구성함으로써 한 사이클에 모든 스레드가 동시에 자신의 캐시 메모리로 접근할 수 있도록 구성되는 것을 특징으로 한다.
본 발명의 확장 실시예에 따르면, 본 발명의 멀티스레드 프로세서의 캐시 메모리 장치는 상기 SRAM 뱅크의 태그 영역 및 캐시 데이터 영역을 모두 통합하여 SRAM 뱅크들을 공유 메모리 용도로도 사용 가능하도록 구성되는 것을 특징으로 한다.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예, 장점 및 특징에 대하여 상세히 설명하도록 한다.
도 1은 본 발명의 바람직한 실시예에 따른 멀티스레드 프로세서의 캐시 메모리 장치의 구조를 나타낸 블록도이다. 참고로, 도 1의 일 실시예의 캐시 메모리 장치는 발명의 보다 명확한 설명을 위해 전체 캐시 메모리 크기는 8K 바이트로 지정하였고, 스레드 수와 SRAM 뱅크의 수의 기본값으로 8을 사용하였다.
본 발명의 캐시 메모리 장치는 특히 멀티스레드 프로세서에서 동작하는 캐시에 관한 것인데, 이러한 멀티스레드 프로세서는 캐시로 메모리 주소를 공급하고, 상기 캐시로 공급되는 메모리 주소는 태그와 인덱스를 포함하여 구성된다.
본 발명에 따른 멀티스레드 프로세서의 캐시 메모리 장치는 멀티스레드의 스레드 수만큼 분할된 복수의 SRAM 뱅크 형태로 구성되고, 상기 각 SRAM 뱅크는 상기 각 스레드의 캐시로 동작하도록 구성되는 것을 특징으로 한다.
바람직한 실시예에 따르면, 캐시를 구성하는 전체 SRAM의 깊이를 상기 스레드 수만큼 등분하여 각각의 SRAM 뱅크로 분리하여 설계한다.
각각의 SRAM 뱅크는 뱅크 번호에 따라 인덱스가 존재한다. SRAM 뱅크들을 캐시 메모리로써 사용할 시에는 각 스레드와 각 SRAM 뱅크는 스레드 번호와 뱅크 인덱스가 동일한 것끼리 매칭되게 구성된다.
이에 따라, 프로세서로부터 캐시 주소가 입력되면 각 SRAM 뱅크는 뱅크 인덱스와 동일한 스레드 번호를 가진 각 스레드의 캐시로서 동작하게 된다.
캐시 메모리는 프로세서로부터 주소를 입력받게 되는데, 본 발명의 멀티스레드 프로세서의 캐시 메모리 장치는 프로세서로부터 입력되는 주소가 유효 바이트의 크기를 선택하기 위한 제1 비트와, 접근하고자 하는 SRAM 뱅크를 선택하기 위한 제2 비트와, 태그 영역의 인덱스를 검색하기 위한 제3 비트, 및 태그 주소를 위한 제4 비트로 구성된다.
여기서, 상기 제1 비트, 제2 비트, 제3 비트, 및 제4 비트는 서로 상이한 정보 표현을 위해 할당된 비트 수를 지칭하며, 이들은 서로 상이하거나 또는 동일할 수도 있으며, 이러한 각 비트는 입력 주소 비트의 크기, SRAM 뱅크의 수, 태그 영역의 크기에 따라 각 비트길이를 유동적으로 재구성할 수 있다.
도 1의 바람직한 실시예에 따르면, 프로세서로부터 입력되는 주소가 도 1과 같이 32비트 주소로 구성될 수 있고, 상기 경우 32비트 주소의 역할은 다음과 같다.
최하위 2비트는 접근하고자 하는 데이터의 유효바이트의 크기를 선택하기 위하여 사용된다. 상기 경우 제1 비트는 2비트로 구성되고, 그 비트의 길이는 64비트 주소 체계의 프로세서에서는 64비트, 즉 8바이트의 유효 바이트를 결정하기 위해 3비트로 확장된다.
다음 3비트는 접근하고자 하는 SRAM 뱅크를 선택하기 위한 비트(SRAM 뱅크의 번호)로 사용된다. 상기 경우 제2 비트는 3비트로 구성되고, 그 비트 길이는 SRAM 뱅크의 수, 즉 스레드 수에 따라 log2n 크기로 할당되어 진다.
다음 9비트는 각 뱅크의 태그 영역 인덱스를 검색하기 위해 사용되며, 상기 경우 제3 비트는 9비트로 구성된다. 8K 바이트의 SRAM 전체가 캐시 메모리로 사용되는 경우 도 1의 실시예와 같이 태그 영역과 데이터 영역을 각 4K 바이트로 할당할 수 있다.
나누어진 영역 중 4K 바이트의 태그 영역을 SRAM 뱅크 수인 8로 나누어 각 뱅크 당 512바이트씩 할당받으며, 29인 512바이트 SRAM 뱅크의 인덱스를 검색하기 위해 9비트를 사용한다.
앞서 설명한 9비트로 접근할 인덱스 위치를 파악하였다면 나머지 상위 18비트 태그 주소 값과 선택된 인덱스 라인의 태그 주소를 비교하여 그 값이 같다면 캐시 히트로 판단하여 히트 비트를 1로 설정하고 캐시 데이터 영역의 동일 인덱스 라인의 데이터 값을 프로세서로 전송한다.
만약, 인덱스로 지정된 태그 영역 라인의 태그 주소 값과 입력받은 주소의 상위 18비트 태그 주소 값이 다른 경우 캐시 미스로 판단하여 히트 비트를 0으로 설정하여 프로세서가 잘못된 값을 사용하지 않도록 제어한다.
그리고, 본 발명의 캐시 메모리 장치는 캐시 히트를 위한 히트 비트가 상기 스레드 수와 동일하게 구성되는 것을 특징으로 한다.
캐시 히트를 위한 히트 비트의 길이는 SRAM 뱅크 수와 동일하게 구성될 수 있다.
즉, 히트 비트 또한 SRAM 뱅크 수만큼 할당함으로써, 본 발명의 복수의 SRAM 뱅크는 모든 SRAM 뱅크가 동시에 캐시 히트 및 캐시 미스 여부를 판단하여 상기 프로세서로 전송하도록 구성된다.
한편, 캐시 미스 발생 시, 캐시 교환정책에 따라 외부 메모리로부터 캐시 태그 및 데이터를 갱신해야 하는데, 이와 같은 경우 메모리의 시간적, 공간적 지역성을 고려하여 모든 SRAM 뱅크의 동일 인덱스 라인과 캐시 데이터 영역의 해당 인덱스 라인을 모두 갱신하도록 구성된다.
상기에서 설명 및 도시한 바와 같이, 본 발명의 멀티스레드 프로세서의 캐시 메모리 장치는 캐시 메모리를 구성하는 SRAM을 스레드 수만큼 나누어 설계함으로써 한 사이클에 모든 스레드가 동시에 자신의 캐시 메모리로 접근할 수 있게 된다.
본 발명의 확장 실시예에 따르면, 전술한 바와 같이 메모리 접근 방식의 효율을 개선하기 위해 제안된 본 발명의 캐시 메모리 장치는 캐시 메모리 중 일부 영역을 공유 메모리로도 함께 사용 가능하도록 구성할 수 있다.
도 2는 본 발명에 따른 멀티스레드 프로세서의 캐시 메모리 장치의 확장 실시예를 나타낸 블록도로서, 캐시 메모리 중 일부 영역을 분할하여 공유 메모리로 사용할 수 있도록 구성한 캐시 메모리 분할례이고, 도 3은 본 발명에 따른 제어 유닛의 기능 및 동작을 설명하기 위한 도면이다.
도 2 및 도 3을 참조하면, 본 발명의 캐시 메모리 장치는 전술한 캐시 메모리 중 일부 영역을 공유 메모리 사용할 경우, 각 SRAM 뱅크를 하나의 큰 메모리로 사용할 수 있도록 SRAM 뱅크의 뱅크 인덱스를 메모리 주소(즉, SRAM 주소)의 상위 주소(상위 비트)로 사용하도록 구성되는 것을 특징으로 한다.
그리고, 본 발명의 멀티스레드 프로세서의 캐시 메모리 장치는 이러한 메모리 분할을 수행하기 위한 제어 유닛을 더 포함하여 구성된다.
본 발명의 제어 유닛은 사용 용도에 따른 메모리 분할 실행시 이를 구현하기 위한 제어 파라미터를 입력받고, 해당 제어 파라미터에 근거하여 전체 SRAM 뱅크 중 캐시 메모리로써 사용되는 영역에 대해 태그 영역과 캐시 데이터 영역으로 분할하여 각 영역을 갱신하는 기능을 수행한다.
즉, 메모리 공간의 용도를 결정하는 제어 파라미터 값의 변경에 따라 태그 메모리 및 캐시 데이터는 데이터 신뢰성을 유지하기 위해 캐시 데이터를 갱신하며 이에 따라 태그 영역도 함께 갱신된다.
또한, 제어 유닛은 캐시 메모리의 크기에 따라 입력 주소의 각 내부 비트 길이를 결정하여 정상적인 캐시 메모리 동작을 보장할 수 있도록 기능한다.
도 4는 본 발명에 따른 멀티스레드 프로세서의 캐시 메모리 장치의 또 다른 실시예를 나타낸 불록도이다.
도 4를 참조하면, 본 발명의 멀티스레드 프로세서의 캐시 메모리 장치의 변형 실시예는 도 1 실시예와 같이 캐시 메모리를 구성하는 SRAM 뱅크 수를 스레드 수와 동일 수로 분할하는 방식으로 구성하지 않고, 스레드 수보다 적은 수로 분할되게 구성된다.
보다 상세히 설명하면, 본 발명의 또 다른 실시예는 캐시 메모리를 구성하는 SRAM 뱅크 수를 멀티스레드의 스레드 수를 기준으로 분할하되 다음과 같은 조건 1을 만족하는 수로 분할되도록 구성된다.
<조건 1>
스레드 수 / SRAM 뱅크 = 2, 4, 8 ... 2n
상기와 같이 조건 1을 만족하며 다수 개로 분리된 각 SRAM 뱅크는 적어도 하나의 스레드 마다 고유한 캐시로 동작하게 된다.
상기와 같은 본 발명의 변형 실시예에 의하면, 메모리 접근 소요 사이클은 최대 "2(스레드 수/ SRAM 뱅크)/2" 사이클로 증가하지만 SRAM 뱅크의 깊이를 증가시켜 메모리 효율을 높일 수 있는 장점이 있다.
캐시 메모리를 구성하는 SRAM 뱅크 수를 조건 1과 같이 구성할 경우, 이에 따른 세부적인 캐시 동작 및 구성은 도 1에서 설명한 바와 동일하다.
또한, 본 발명의 변형 실시예에 따르면 도 5와 같이, 각 스레드의 캐시로 동작하는 SRAM 뱅크를 세트 연관 캐시로 동작하도록 구성할 수 있다. 도 5는 본 발명에 따른 SRAM 뱅크의 세트 연관 캐시 동작을 나타낸 블록도이다.
참고로, 세트 연관 캐시에 대해 상세히 설명하면 다음과 같다. 세트 연관 캐시는 직접 사상 캐시와 완전 연관 캐시 동작을 절충한 방법이다. 세트 연관 캐시는 가장 일반적으로 사용되는 사상 기법으로 세트가 하나의 블록만 가지면 세트 연관 캐시는 직접 사상 캐시가 되고 그 반대의 경우 완전 연관 캐시가 될 수 있다.
프로세서가 공급하는 메모리 주소는 태그와 인덱스로 구성된다. 인덱스는 블록 주소와 블록 내에서의 워드 오프셋으로 구성되며, 필요한 데이터를 가진 2s개의 세트를 가진 캐시 워드로 구별한다. 태그는 주소 공간에 있는 많은 캐시 라인 중 한 개를 지정한다. 세트 연관 배치 정책에 따라서 2s개의 캐시 선 중 동일한 하나의 세트를 지정한다. 매번 메모리 액세스를 할 때, 모든 2s개 후보 워드 중 각각의 선들과 연결된 태그에 따라서 읽혀진다.
2s개의 태그들이 원하는 태그와 동시에 비교되며 원하는 태그와 일치하는 태그가 없는 경우, 데이터 영역은 무시되고 캐시 실패 신호가 발생하여 주기억 장치에 접근하여 캐시 갱신을 진행한다.
반대로 위치 선택 i(0 ≤ i ≤ 2s)에 해당하는 i번째 태그가 원하는 태그와 일치하는 경우에는 i번째 위치 선택과 일치하는 블록으로부터 선택된 데이터가 읽혀진다.
직접 사상 캐시에서 각 캐시 선은 유효한 데이터를 가지고 있는지 여부를 나타내는 유효 비트(vaild bit)를 가지고 있다. 유효 비트는 태그와 함께 읽혀져서 유효 비트 태그와 정확하게 일치한다는 것을 보증하기 위해서 비교하는 데 사용된다.
쓰기저장(writeback) 캐시 선이 갱신 비트(dirty bit)를 가질 수 있다. 갱신 비트는 선에 데이터를 저장할 때마다 1로 설정하며, 선이 교체될 때 주기억 장치에 갱신해야 할 필요가 있는지 여부를 결정하게 된다.
상기에서 본 발명의 바람직한 실시예가 특정 용어들을 사용하여 설명 및 도시되었지만 그러한 용어는 오로지 본 발명을 명확히 설명하기 위한 것일 뿐이며, 본 발명의 실시예 및 기술된 용어는 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않고서 여러가지 변경 및 변화가 가해질 수 있는 것은 자명한 일이다. 이와 같이 변형된 실시예들은 본 발명의 사상 및 범위로부터 개별적으로 이해되어져서는 안되며, 본 발명의 청구범위 안에 속한다고 해야 할 것이다.

Claims (15)

  1. 삭제
  2. 멀티스레드 프로세서의 캐시 메모리 장치로서,
    상기 멀티스레드의 스레드 수만큼 분할된 복수의 SRAM 뱅크와,
    각각의 상기 SRAM 뱅크는 전체 SRAM의 깊이를 상기 스레드 수만큼 등분하여 구성하여, 상기 각 SRAM 뱅크는 상기 각 스레드의 캐시로 동작하도록 구성하는 것을 특징으로 하는 멀티스레드 프로세서의 캐시 메모리 장치.
  3. 멀티스레드 프로세서의 캐시 메모리 장치로서,
    상기 멀티스레드의 스레드 수를 기준으로 다음의 조건 1을 만족하도록 분할된 복수의 SRAM 뱅크 형태로 구성하고, 각각의 상기 SRAM 뱅크는 전체 SRAM의 깊이를 상기 스레드 수만큼 등분하여 구성하여, 상기 각 SRAM 뱅크는 스레드들의 캐시로 동작하도록 구성되는 것을 특징으로 하는 멀티스레드 프로세서의 캐시 메모리 장치.
    <조건 1>
    스레드 수 / SRAM 뱅크 = 2, 4, 8 ... 2n
  4. 삭제
  5. 제2항 또는 제3항에 있어서,
    상기 멀티스레드 프로세서로부터 입력되는 주소는,
    유효 바이트의 크기를 선택하기 위한 제1 비트;
    접근하고자 하는 SRAM 뱅크를 선택하기 위한 제2 비트;
    태그 영역의 인덱스를 검색하기 위한 제3 비트; 및
    태그 주소를 위한 제4 비트로 구성되는 것을 특징으로 하는 멀티스레드 프로세서의 캐시 메모리 장치.
  6. 제5항에 있어서,
    상기 멀티스레드 프로세서로부터 입력되는 주소는 32비트로 구성되고,
    상기 제1 비트는 2비트, 상기 제2 비트는 3비트, 상기 제3 비트는 9비트, 그리고 상기 제4 비트는 18비트로 구성되는 것을 특징으로 하는 멀티스레드 프로세서의 캐시 메모리 장치.
  7. 제2항 또는 제3항에 있어서,
    상기 복수의 SRAM 뱅크는 모든 SRAM 뱅크가 동시에 캐시 히트 및 캐시 미스 여부를 판단하여 상기 프로세서로 전송하도록 구성되는 것을 특징으로 하는 멀티스레드 프로세서의 캐시 메모리 장치.
  8. 제7항에 있어서,
    상기 캐시 히트를 위한 히트 비트가 상기 스레드 수와 동일하게 구성되는 것을 특징으로 하는 멀티스레드 프로세서의 캐시 메모리 장치.
  9. 제7항에 있어서,
    상기 캐시 미스로 판단시,
    모든 SRAM 뱅크의 동일 인덱스 라인과 캐시 데이터 영역의 해당 인덱스 라인을 모두 갱신하도록 구성되는 것을 특징으로 하는 멀티스레드 프로세서의 캐시 메모리 장치.
  10. 제2항 또는 제3항에 있어서,
    상기 캐시 메모리는 상기 각 스레드 마다 고유한 캐시로 동작하기 위한 영역과 공유 메모리로 사용되기 위한 영역으로 분할될 수 있는 것을 특징으로 하는 멀티스레드 프로세서의 캐시 메모리 장치.
  11. 제10항에 있어서,
    상기 캐시 메모리 중 일부 영역을 상기 공유 메모리 사용할 경우, 상기 SRAM 뱅크의 뱅크 인덱스를 SRAM 주소의 상위 주소로 사용하도록 구성되는 것을 특징으로 하는 멀티스레드 프로세서의 캐시 메모리 장치.
  12. 제10항에 있어서,
    상기 각 스레드 마다 고유한 캐시로 동작하기 위한 영역과 공유 메모리로 사용되기 위한 영역의 분할을 수행하기 위한 제어 유닛을 더 포함하는 하는 것을 특징으로 하는 멀티스레드 프로세서의 캐시 메모리 장치.
  13. 제12항에 있어서,
    상기 제어 유닛은, 입력 제어 파라미터에 근거하여 전체 SRAM 뱅크 중 상기 캐시로 동작하기 위한 영역에 대해 태그 영역과 캐시 데이터 영역으로 분할하여 각 영역을 갱신하도록 구성되는 것을 특징으로 하는 멀티스레드 프로세서의 캐시 메모리 장치.
  14. 제13항에 있어서,
    상기 제어 유닛은, 캐시 메모리의 크기에 따라 입력 주소의 각 내부 비트 길이를 결정하도록 구성되는 것을 특징으로 하는 멀티스레드 프로세서의 캐시 메모리 장치.
  15. 제2항 또는 제3항에 있어서,
    상기 각 스레드의 캐시로 동작하는 상기 SRAM 뱅크는 세트 연관 캐시로 동작되도록 구성되는 것을 특징으로 하는 멀티스레드 프로세서의 캐시 메모리 장치.
KR1020130163485A 2013-12-26 2013-12-26 멀티스레드 프로세서의 캐시 메모리 장치 KR101563192B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130163485A KR101563192B1 (ko) 2013-12-26 2013-12-26 멀티스레드 프로세서의 캐시 메모리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130163485A KR101563192B1 (ko) 2013-12-26 2013-12-26 멀티스레드 프로세서의 캐시 메모리 장치

Publications (2)

Publication Number Publication Date
KR20150075484A KR20150075484A (ko) 2015-07-06
KR101563192B1 true KR101563192B1 (ko) 2015-10-26

Family

ID=53788590

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130163485A KR101563192B1 (ko) 2013-12-26 2013-12-26 멀티스레드 프로세서의 캐시 메모리 장치

Country Status (1)

Country Link
KR (1) KR101563192B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11442869B2 (en) 2019-03-22 2022-09-13 SK Hynix Inc. Cache memory, memory system including the same and operating method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11442869B2 (en) 2019-03-22 2022-09-13 SK Hynix Inc. Cache memory, memory system including the same and operating method thereof

Also Published As

Publication number Publication date
KR20150075484A (ko) 2015-07-06

Similar Documents

Publication Publication Date Title
US10019368B2 (en) Placement policy for memory hierarchies
JP6505132B2 (ja) メモリ容量圧縮を利用するメモリコントローラならびに関連するプロセッサベースのシステムおよび方法
JP5628404B2 (ja) キャッシュされたメモリデータを伴うキャッシュメモリ属性インジケータ
US10133678B2 (en) Method and apparatus for memory management
US10831678B2 (en) Multi-tier cache placement mechanism
US20140181402A1 (en) Selective cache memory write-back and replacement policies
US20160055100A1 (en) System and method for reverse inclusion in multilevel cache hierarchy
US9582282B2 (en) Prefetching using a prefetch lookup table identifying previously accessed cache lines
KR20050005535A (ko) 스레드 식별자에 기초한 캐시 되찾기를 갖춘 멀티스레드캐시의 방법 및 장치
KR20190058318A (ko) 효율적으로 압축된 캐시 라인의 저장 및 처리를 위한 시스템 및 방법
JP2005528695A (ja) キャッシュ置換ポリシーの簡略化した実施態様を用いたマルチスレッド化キャッシュのための方法および装置
US9552301B2 (en) Method and apparatus related to cache memory
US20170168957A1 (en) Aware Cache Replacement Policy
EP3411798B1 (en) Cache and method
CN115617709A (zh) 缓存管理方法及装置、缓存装置、电子装置和介质
US9128856B2 (en) Selective cache fills in response to write misses
US7007135B2 (en) Multi-level cache system with simplified miss/replacement control
KR101563192B1 (ko) 멀티스레드 프로세서의 캐시 메모리 장치
US20180052778A1 (en) Increase cache associativity using hot set detection
US7546417B1 (en) Method and system for reducing cache tag bits
KR101976320B1 (ko) 라스트 레벨 캐시 메모리 및 이의 데이터 관리 방법
KR20190032585A (ko) 멀티 스레드 모드에서 전력 감소를 위한 방법 및 장치
US7143239B2 (en) Cache structure and methodology
JP5224959B2 (ja) キャッシュシステム
US6874057B2 (en) Method and apparatus for cache space allocation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180921

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 5