KR20200091206A - Monolithic 3D integration based L1 cache memory for GPUs - Google Patents

Monolithic 3D integration based L1 cache memory for GPUs Download PDF

Info

Publication number
KR20200091206A
KR20200091206A KR1020190008189A KR20190008189A KR20200091206A KR 20200091206 A KR20200091206 A KR 20200091206A KR 1020190008189 A KR1020190008189 A KR 1020190008189A KR 20190008189 A KR20190008189 A KR 20190008189A KR 20200091206 A KR20200091206 A KR 20200091206A
Authority
KR
South Korea
Prior art keywords
cache
layer
gpu
data
monolithic
Prior art date
Application number
KR1020190008189A
Other languages
Korean (ko)
Other versions
KR102172556B1 (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 KR1020190008189A priority Critical patent/KR102172556B1/en
Publication of KR20200091206A publication Critical patent/KR20200091206A/en
Application granted granted Critical
Publication of KR102172556B1 publication Critical patent/KR102172556B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware

Abstract

Disclosed is a monolithic 3D integrated structure based GPU L1 cache memory capable of improving GPU performance by increasing an L1 cache capacity without deteriorating cache access time. According to the present invention, the GPU L1 cache memory device including a data cache, a texture cache, a constant cache and a shared memory comprises: a first layer in which a cell integrating a texture cache and a constant cache and a bit cell of a shared memory are disposed; a second layer placed in an upper part of the first layer and having bit cells of the data cache disposed thereon; and a monolithic 3D via vertically connecting the first layer and the second layer.

Description

모놀리식 3D 집적 구조 기반 GPU L1 캐시 메모리{Monolithic 3D integration based L1 cache memory for GPUs}Monolithic 3D integration based GPU L1 cache memory for monolithic 3D integration based L1 cache memory for GPUs

본 발명은 모놀리식 3D 집적 구조 기반 GPU L1 캐시 메모리에 관한 것이다. The present invention relates to a GPU L1 cache memory based on a monolithic 3D integrated structure.

GPU(Graphics Processing Unit)은 수천 개의 코어(프로세서)를 사용하여 많은 수의 스레드가 병렬로 실행되도록 하는 기기이다. A graphics processing unit (GPU) is a device that uses thousands of cores (processors) to execute a large number of threads in parallel.

그래픽 전용 연산을 수행하는 GPU 시스템은 CUDA(Compute Unified Device Architecture), OpenCL(Open Computing Language), C++AMP (C++Accelerated Massive Parallelism)과 같은 언어를 이용하여 GPGPU(General-Purpose computing on Graphics Processing Units)로 수행이 가능하다. GPU 시스템은 많은 수의 프로세서를 가지고 있으며 SIMD(Single Instruction Multiple Data)와 유사한 방법으로 데이터를 처리를 한다. 때문에 2차원 및 3차원으로 구성된 대용량 데이터를 처리하는데 적합하다. GPU systems that perform graphics-only operations use General-Purpose computing on Graphics (GPGPU) using languages such as Compute Unified Device Architecture (CUDA), Open Computing Language (OpenCL), and C++ AMP (C++ Accelerated Massive Parallelism). Processing Units). GPU systems have a large number of processors and process data in a manner similar to SIMD (Single Instruction Multiple Data). Therefore, it is suitable for processing large-scale data composed of 2D and 3D.

하지만 많은 프로세서가 하나의 전역 메모리에 동시접근하기 위해 경합을 함으로써 메모리 접근 지연으로 인한 성능 감소가 발생한다.However, many processors compete for simultaneous access to one global memory, resulting in a decrease in performance due to memory access delays.

이를 해결하기 위해 공유 메모리를 사용하는 기법이 제안되었으나, 구현 복잡도가 높아지는 문제점이 있었다. To solve this, a technique using a shared memory has been proposed, but there is a problem in that the implementation complexity increases.

이에, 근래에는 캐시 메모리를 제공하여 CPU에서처럼 전역 메모리로부터 읽어온 값을 캐싱한다. Accordingly, recently, a cache memory is provided to cache a value read from global memory as in the CPU.

캐시 메모리와 공유 메모리는 같은 하드웨어에 위치하고 있으며 실행 환경에 따라서 메모리 공간들이 구분이 된다.그러므로 캐시 메모리를 활용한다면 공유 메모리를 사용하지 않아도 동일한 성능을 볼 수 있을 것이며 공유 메모리 사용으로 나타나는 구현 복잡도는 피할 수 있을 것이다.Cache memory and shared memory are located on the same hardware, and the memory spaces are classified according to the execution environment. Therefore, if you use cache memory, you can see the same performance without using shared memory and avoid the implementation complexity of using shared memory. Will be able to.

GPU에서 워프 스케줄러(warp scheduler)는 GPU 하드웨어 자원을 효율적으로 사용하여 GPU 성능을 향상시키는데 중요한 역할을 한다. In the GPU, the warp scheduler plays an important role in improving GPU performance by efficiently using GPU hardware resources.

GPU 성능 향상을 위해 다수의 워프 스케줄러가 제안되었지만 GPU 하드웨어 자원을 아직 완전히 활용하고 있지 못하다. A number of warp schedulers have been proposed to improve GPU performance, but have not yet fully utilized GPU hardware resources.

이는 워프 스케줄러의 효율성 및 GPU 성능이 워프 스케줄러 알고리즘 자체보다는 L1 캐시 메모리 용량에 크게 의존하기 때문이다. This is because the efficiency of the warp scheduler and GPU performance depend heavily on the L1 cache memory capacity rather than the warp scheduler algorithm itself.

특히 작은 용량의 L1 캐시 메모리는 GPU(GPGPU)의 범용 컴퓨팅에서 자주 발생하는 대규모 작업 세트를 수용할 수 없고 이는 캐시 스래싱(cache thrashing)으로 이어질뿐만 아니라 메모리 시스템 리소스를 포화상태로 만든다. In particular, the small capacity of L1 cache memory cannot accommodate large sets of operations that are common in general purpose computing on GPUs (GPGPUs), which not only leads to cache thrashing, but also saturates memory system resources.

등록특허 10-1639943Patent Registration 10-1639943

상기한 종래기술의 문제점을 해결하기 위해, 캐시 액세스 시간은 악화시키지 않으면서 L1 캐시 용량을 증가시켜 GPU 성능을 향상시킬 수 있는 모놀리식 3D 집적 구조 기반 GPU L1 캐시메모리를 제안하고자 한다. In order to solve the above-mentioned problems of the prior art, it is intended to propose a monolithic 3D integrated structure-based GPU L1 cache memory capable of improving GPU performance by increasing L1 cache capacity without deteriorating cache access time.

상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따르면, 데이터 캐시, 텍스쳐 캐시, 상수 캐시 및 공유 메모리를 포함하는 GPU L1 캐시 메모리 장치로서, 텍스쳐 캐시와 상수 캐시가 통합된 셀과 공유 메모리의 비트 셀이 배치되는 제1 레이어; 상기 제1 레이어의 상부에 위치하며 데이터 캐시의 비트 셀이 배치되는 제2 레이어; 및 상기 제1 레이어 및 제2 레이어를 수직으로 연결하는 모놀리식 3D 비아(Monolithic 3D Via)를 포함하는 GPU L1 캐시 메모리 장치가 제공된다. In order to achieve the above object, according to an embodiment of the present invention, a GPU L1 cache memory device including a data cache, a texture cache, a constant cache and a shared memory, the texture cache and a constant cache integrated cell and A first layer in which bit cells of the shared memory are disposed; A second layer positioned above the first layer and in which bit cells of a data cache are disposed; And a monolithic 3D via that vertically connects the first layer and the second layer.

상기 제1 레이어의 제1 워드라인 와이어과 연결되는 워드라인 드라이버를 더 포함하되, 상기 모놀리식 3D 비아는 상기 워드라인 드라이버와 상기 제2 레이어의 제2 워드라인 와이어를 수직으로 연결할 수 있다. Further comprising a word line driver connected to the first word line wire of the first layer, the monolithic 3D via may vertically connect the word line driver and the second word line wire of the second layer.

상기 워드라인 드라이버는 로우 디코더의 출력과 연결되며, 상기 로우 디코더에는 캐시 주소 변환기에 의해 변환된 캐시 주소가 입력될 수 있다. The word line driver is connected to an output of a row decoder, and a cache address converted by a cache address converter may be input to the row decoder.

상기 캐시 주소 변환기는, 데이터 캐시, 텍스쳐 캐시, 상수 캐시 및 공유 메모리 중 하나를 식별하기 위한 코드를 이용하여 기존 캐시 주소를 3차원 레이어 배치에 따른 새로운 캐시 주소로 변환하여 출력할 수 있다. The cache address converter may convert an existing cache address into a new cache address according to the 3D layer arrangement and output the code using code for identifying one of a data cache, a texture cache, a constant cache, and a shared memory.

요구되는 비트 셀의 레이어 아이디를 식별하는 레이어 디코더; 비트라인을 통해 전달된 비트 셀로부터의 데이터를 이용하여 요구된 데이터를 선택하는 컬럼 디코더; 및 상기 선택된 데이터 신호를 증폭하는 센스 앰프를 더 포함할 수 있다. A layer decoder that identifies the layer ID of the requested bit cell; A column decoder for selecting requested data using data from a bit cell transmitted through a bit line; And a sense amplifier for amplifying the selected data signal.

본 발명에 따르면, 데이터 캐시와 텍스쳐 캐시/상수 캐시 및 공유 메모리를 서로 다른 레이어로 분리하고, 이들을 모놀리식 3D 비아로 연결하여 액세스 시간을 한층 단축시킬 수 있는 장점이 있다. According to the present invention, there is an advantage of separating the data cache, the texture cache/constant cache, and the shared memory into different layers, and connecting them with monolithic 3D vias to further reduce access time.

도 1은 일반적인 GPU의 SM 구조를 도시한 도면이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 GPU L1 캐시 메모리 구조를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 캐시 주소 변환기의 구성을 도시한 도면이다.
도 4는 본 실시예에 따른 캐시 주소 변환기에 의한 캐시 주소 변환 전후 결과를 도시한 도면이다.
1 is a diagram showing an SM structure of a general GPU.
2 is a diagram illustrating a GPU L1 cache memory structure according to an exemplary embodiment of the present invention.
3 is a diagram showing the configuration of a cache address translator according to an embodiment of the present invention.
4 is a diagram showing results before and after the conversion of the cache address by the cache address converter according to the present embodiment.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.The present invention can be applied to various changes and can have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

도 1은 일반적인 GPU의 SM 구조를 도시한 도면이다. 1 is a diagram showing an SM structure of a general GPU.

GPU는 SM(Streaming Multiprocessor)의 집합으로 구성되며 각각의 SM은 복수의 SP(Scalar Processor) 및 복수의 스레드를 포함한다.GPU is composed of a set of SM (Streaming Multiprocessor), each SM includes a plurality of SP (Scalar Processor) and a plurality of threads.

도 1에 도시된 바와 같이, SM은 8개의 SP 및 32개의 스레드를 포함할 수 있다. As shown in FIG. 1, the SM may include 8 SPs and 32 threads.

여기서, 32개의 스레드를 워프(warp)라는 단위로 부르며 16개의 스레드로 메모리참조를 하는 경우에는 하프워프라고 한다. Here, 32 threads are called a warp unit, and when a memory reference is made to 16 threads, it is called a half warp.

GPU는 1SM 단위(32스레드)로 동작(메모리참조)한다. GPU operates in 1SM unit (32 threads) (refer to memory).

SP는 4개의 스레드로 구성되고 실행된다. The SP consists of 4 threads and runs.

여기서, 스레드는 최소 명령어 처리 단위이다. Here, a thread is a minimum instruction processing unit.

이와 같은 SM은 데이터 캐시(L1D), 텍스쳐 캐시(TEX), 상수 캐시(CONST) 및 공유 메모리(SHD)를 포함하는 특정 용도의 캐시들을 포함한다. Such an SM includes special purpose caches including a data cache L1D, a texture cache TEX, a constant cache CONST, and a shared memory SHD.

이처럼 특정 용도의 캐시들을 분리하는 이유는 빠른 액세스 시간을 위한 것이다. The reason for separating caches for a specific purpose is for fast access time.

SM 내에서 다른 SP로부터의 메모리 요청은 큐에 저장되어 특정 용도 캐시에 대한 메모리 요청 순서를 유지한다. Memory requests from other SPs in the SM are queued to maintain the order of memory requests for a specific-purpose cache.

본 발명의 바람직한 일 실시예에 따르면, 빠른 액세스를 보장하기 위해, 즉 데이터 캐시에서 간섭을 피하기 위해 최하위 계층에 텍스쳐 캐시와 상수 캐시를 통합하고, 공유 메모리 역시 최하위 계층에 배치한다. According to one preferred embodiment of the present invention, in order to ensure fast access, that is, to avoid interference in the data cache, the texture cache and the constant cache are integrated in the lowest layer, and the shared memory is also disposed in the lowest layer.

또한, 데이터 캐시는 모놀리식 3D 집적 구조 기반으로 SRAM의 상위 계층에 배치한다. In addition, the data cache is based on a monolithic 3D integrated structure and is placed on the upper layer of the SRAM.

도 2는 본 발명의 바람직한 일 실시예에 따른 GPU L1 캐시 메모리 구조를 도시한 도면이다. 2 is a diagram illustrating a GPU L1 cache memory structure according to an exemplary embodiment of the present invention.

도 2에 도시된 바와 같이, GPU L1 캐시 메모리는 하위 계층인 제1 레이어(Layer1, 200) 및 상위 계층인 제2 레이어(Layer2, 202)을 포함할 수 있다. As illustrated in FIG. 2, the GPU L1 cache memory may include a first layer (Layer1, 200) which is a lower layer and a second layer (Layer2, 202) which is a higher layer.

제1 레이어(200)에는 텍스쳐 캐시와 상수 캐시가 통합된 TEC 비트 셀과 공유 메모리의 SHD 비트 셀이 배치된다. In the first layer 200, a TEC bit cell in which a texture cache and a constant cache are integrated and an SHD bit cell in shared memory are disposed.

또한, 제2 레이어(202)에는 데이터 캐시인 L1D 비트 셀이 배치된다. In addition, an L1D bit cell that is a data cache is disposed in the second layer 202.

도 2에서는 제2 레이어(202)가 하나로 도시되어 있으나, 이는 일예에 불과하며 L1 데이터 캐시의 경우 적중률이 다른 캐시들에 비해 낮기 때문에 용량을 키우기 위해 제2 레이어(202)는 복수개로 구성될 수 있다. Although the second layer 202 is shown in FIG. 2 as one example, this is only an example, and in the case of the L1 data cache, since the hit ratio is lower than that of other caches, the second layer 202 may be configured in plurality to increase capacity. have.

이러한 경우, 제1 레이어(200) 상에 수직으로 하나 이상의 제2 레이어(202)가 배치될 수 있고, 복수의 제2 레이어(202) 각각도 수직으로 배치될 수 있다. In this case, one or more second layers 202 may be vertically disposed on the first layer 200, and each of the plurality of second layers 202 may also be vertically disposed.

본 실시예에 따르면, 제1 레이어(200)와 제2 레이어(202)는 모놀리식 3D 비아(Monolithic 3D Via, 204)를 통해 연결된다. According to this embodiment, the first layer 200 and the second layer 202 are connected through a monolithic 3D via 204.

여기서 모놀리식 3D 집적 구조는 3차원 시퀀셜 집적구조로 정의된다.Here, the monolithic 3D integrated structure is defined as a 3D sequential integrated structure.

모놀리식 3D 집적 소자 형성 기술은 하나의 웨이퍼에 소자 형성 후 epi 성장, recrystallization 또는 절연체 층을 증착한 후 얇은 웨이퍼 위에 bonding을 통해 새로운 substrate layer를 형성 후 그 위에 소자를 시퀀셜하게 형성하는 공정 기술이다.The monolithic 3D integrated device formation technology is a process technology for forming a new substrate layer through bonding on a thin wafer after epi growth, recrystallization or depositing an insulator layer after forming the device on one wafer and then sequentially forming the device on it. .

모놀리식 3D 집적 소자 형성 기술은 각 레이어의 소자를 매우 얇은 채널 (50~500nm) 형성으로 Via specification의 변경이 가능 [(Via diameter (10~50nm), Via pitch (100~300nm)] 하여 TSV(Through Si Via)의 한계점으로 지적되는 웨이퍼 의 두께에 따른 문제점들을 해결 가능한 새로운 대안 제조 기술이다.The monolithic 3D integrated device formation technology can change the Via specification by forming the device of each layer in a very thin channel (50~500nm) [(Via diameter (10~50nm), Via pitch (100~300nm)] TSV) It is a new alternative manufacturing technology that can solve problems according to the thickness of the wafer, which is pointed out as a limitation of (Through Si Via).

이와 같은 모놀리식 3D 집적 구조에서는 각 레이어의 소자를 연결하는 비아를 인터-레이어 비아(inter-layer via) 또는 인터-타이어 비아(inter-tier via)로 정의하며, 본 명세서에서는 상위 계층인 L1D 비트 셀과 하위 계층인 TEX 비트 셀 및 SHD 비트 셀이 모놀리식 3D 집적 구조를 이루어진다는 점에서 모놀리식 3D 인터-비아(MIV)로 정의한다.In such a monolithic 3D integrated structure, vias connecting devices of each layer are defined as inter-layer vias or inter-tier vias, and in this specification, the upper layer L1D It is defined as a monolithic 3D inter-via (MIV) in that a bit cell and a lower layer TEX bit cell and an SHD bit cell form a monolithic 3D integrated structure.

또한, 본 실시예에 따른 GPU L1 캐시 메모리는 로우 디코더(Row Decoder, 210), 워드라인 드라이버(Wordline Driver, 212), 레이어 디코더(214), 센스 앰프 및 컬럼 디코더(216) 및 데이터 입출력부(218)를 포함할 수 있다. In addition, the GPU L1 cache memory according to this embodiment includes a row decoder (Row Decoder 210), a word line driver (Wordline Driver 212), a layer decoder 214, a sense amplifier and a column decoder 216, and a data input/output unit ( 218).

본 실시예에 따른 M3D 기반 GPU L1 캐시 메모리(SRAM)의 동작을 설명하기 위해 수직 워드라인 개념이 사용된다. The vertical word line concept is used to describe the operation of the M3D based GPU L1 cache memory (SRAM) according to this embodiment.

전술한 바와 같이, M3D 기반 SRAM에서 MIV(M3D Via, 204)는 상하위 레이어(200,202)를 수직으로 연결하는데 사용된다. As described above, in the M3D based SRAM, MIV (M3D Via, 204) is used to vertically connect the upper and lower layers 200 and 202.

여기서, 제1 레이어(200)의 워드라인이 글로벌 워드라인이 된다. Here, the word line of the first layer 200 becomes a global word line.

2D H-트리 네트워크를 통한 뱅크 라우팅은 수직 뱅크 라우팅 경로가 필요없는 제1 레이어(200)에서만 수행된다. Bank routing through the 2D H-tree network is performed only in the first layer 200 that does not require a vertical bank routing path.

모든 캐시들이 M3D 기반 SRAM에 구현되므로 M3D 기반 SRAM에 올바르게 액세스하기 위해서는 캐시 주소 지정의 간단히 수정이 요구된다. Since all caches are implemented in M3D based SRAM, correct access to cache addressing is required to access M3D based SRAM correctly.

도 3은 본 발명의 일 실시예에 따른 캐시 주소 변환기의 구성을 도시한 도면이고, 도 4는 본 실시예에 따른 캐시 주소 변환기에 의한 캐시 주소 변환 전후 결과를 도시한 도면이다. 3 is a diagram showing the configuration of a cache address translator according to an embodiment of the present invention, and FIG. 4 is a diagram showing the results before and after a cache address translation by the cache address translator according to this embodiment.

도 3을 참조하면, 본 실시예에 따른 캐시 주소 변환기는 먹스(Mux, 300), 포맷부(Format, 302) 및 풀 애더(Full Adder, 304)를 포함할 수 있다. Referring to FIG. 3, the cache address converter according to the present embodiment may include a mux (300), a format unit (Format, 302), and a full adder (Full Adder) 304.

즉, 캐시 주소 변환기는 기존 주소를 모놀리식 3D 비아를 통한 3차원 레이어 배치에 따른 새로운 캐시 주소로 변환한다. That is, the cache address translator converts the existing address into a new cache address according to the 3D layer arrangement through the monolithic 3D via.

먹스(300)는 SHD, TEC, L1D 캐시 중 하나에 대한 코드를 출력한다. The MUX 300 outputs codes for one of SHD, TEC, and L1D caches.

여기서, SHD, TEC, L1D 코드는 각각 0000, 0100 및 1000일 수 있다. Here, the SHD, TEC, and L1D codes may be 0000, 0100, and 1000, respectively.

여기서, SHD, TEC 코드의 최상위 비트인 0은 하위 계층인 제1 레이어(200)에 대응되는 비트이고, L1D 코드의 최상위 비트인 1은 상위 계층인 제2 레이어(202)에 대응되는 비트이다. Here, 0, which is the most significant bit of the SHD and TEC codes, is a bit corresponding to the first layer 200 that is the lower layer, and 1, which is the most significant bit of the L1D code, is the bit corresponding to the second layer 202 that is the upper layer.

예를 들어, L1D 캐시에 대해 010이라는 캐시 주소가 입력되는 경우, 포맷부(300)는 최상위 비트에 0을 추가하여 0010으로 변환하여 출력한다. For example, when a cache address of 010 is input to the L1D cache, the formatter 300 adds 0 to the most significant bit and converts it to 0010 to output.

상기한 캐시 주소는 L1D 캐시에 대한 주소이므로 먹스(300)는 L1D 코드인 1000을 출력하고, 풀 애더(304)는 최종적으로 1010을 출력한다. Since the above cache address is an address for the L1D cache, the MUX 300 outputs an L1D code of 1000, and the full adder 304 finally outputs 1010.

상기한 구성을 통해 기존 캐시 주소가 본 실시예에 따른 M3D 기반 GPU L1 캐시 메모리 구조에 맞게 수정된다. Through the above configuration, the existing cache address is modified according to the M3D based GPU L1 cache memory structure according to the present embodiment.

본 실시예에 따른 캐시 주소 변환기는 SHD, TEC 및 L1D 각각에 대해 고유 코드(0000, 0100,1000)를 이용하여 기존 캐시 주소를 새로운 캐시 주소로 변환한다. The cache address converter according to the present embodiment converts an existing cache address into a new cache address using unique codes (0000, 0100,1000) for each of SHD, TEC, and L1D.

변환된 캐시 주소가 로우 디코더(210)로 입력된다. The converted cache address is input to the row decoder 210.

새로운 캐시 주소에 기초하여 M3D 기반 SRAM의 워드라인들 및 비트라인들이 선택된다. Wordlines and bitlines of M3D based SRAM are selected based on the new cache address.

워드라인 드라이버(212)는 새로운 캐시 주소에 의해 어느 글로벌 워드라인이 선택되는지를 식별한다. The wordline driver 212 identifies which global wordline is selected by the new cache address.

레이어 디코더(214)는 요구되는 비트 셀의 레이어 아이디를 식별한다. The layer decoder 214 identifies the layer ID of the requested bit cell.

전술한 바와 같이, 새로운 캐시 주소의 최상위 비트는 제1 레이어(200) 및 제2 레이어(202) 중 하나의 선택을 위해 사용된다. As described above, the most significant bit of the new cache address is used for the selection of one of the first layer 200 and the second layer 202.

필요한 비트 셀이 하위 계층인 제1 레이어(200)에 있다면 이들은 제1 워드라인 와이어(220)를 통해 액세스된다. If the required bit cells are in the first layer 200, which is the lower layer, they are accessed through the first wordline wire 220.

그렇지 않으면 MIV(204)를 통해 상위 계층인 제2 레이어(202)로 액세스한 다음 제2 레이어(202)의 제2 워드라인 와이어(222)를 통해 소정 비트 셀에 액세스한다. Otherwise, the MIV 204 accesses the upper layer, the second layer 202, and then accesses a predetermined bit cell through the second word line wire 222 of the second layer 202.

센스 앰프 및 컬럼 디코더(216)의 컬럼 디코더는 비트라인을 통해 전달된 비트 셀로부터의 데이터를 이용하여 적절한 워드(요구된 데이터)를 선택하고, 선택된 데이터 신호는 센스 앰프에 의해 증폭된다. The column amplifier of the sense amplifier and column decoder 216 selects an appropriate word (required data) using data from the bit cell transmitted through the bit line, and the selected data signal is amplified by the sense amplifier.

데이터 입출력부(218)는 증폭된 신호를 출력한다. The data input/output unit 218 outputs an amplified signal.

상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.The above-described embodiments of the present invention have been disclosed for purposes of illustration, and those skilled in the art having various knowledge of the present invention will be able to make various modifications, changes, and additions within the spirit and scope of the present invention. It should be regarded as belonging to the following claims.

Claims (5)

데이터 캐시, 텍스쳐 캐시, 상수 캐시 및 공유 메모리를 포함하는 GPU L1 캐시 메모리 장치로서,
텍스쳐 캐시와 상수 캐시가 통합된 셀과 공유 메모리의 비트 셀이 배치되는 제1 레이어;
상기 제1 레이어의 상부에 위치하며 데이터 캐시의 비트 셀이 배치되는 제2 레이어; 및
상기 제1 레이어 및 제2 레이어를 수직으로 연결하는 모놀리식 3D 비아(Monolithic 3D Via)를 포함하는 GPU L1 캐시 메모리 장치.
A GPU L1 cache memory device including data cache, texture cache, constant cache and shared memory,
A first layer in which a cell in which a texture cache and a constant cache are integrated and a bit cell in shared memory are disposed;
A second layer positioned above the first layer and in which bit cells of a data cache are disposed; And
A GPU L1 cache memory device including a monolithic 3D via that vertically connects the first layer and the second layer.
제1항에 있어서,
상기 제1 레이어의 제1 워드라인 와이어과 연결되는 워드라인 드라이버를 더 포함하되,
상기 모놀리식 3D 비아는 상기 워드라인 드라이버와 상기 제2 레이어의 제2 워드라인 와이어를 수직으로 연결하는 GPU L1 캐시 메모리 장치.
According to claim 1,
Further comprising a word line driver connected to the first word line wire of the first layer,
The monolithic 3D via is a GPU L1 cache memory device vertically connecting the wordline driver and the second wordline wire of the second layer.
제2항에 있어서,
상기 워드라인 드라이버는 로우 디코더의 출력과 연결되며,
상기 로우 디코더에는 캐시 주소 변환기에 의해 변환된 캐시 주소가 입력되는 GPU L1 캐시 메모리 장치.
According to claim 2,
The word line driver is connected to the output of the row decoder,
A GPU L1 cache memory device in which a cache address converted by a cache address converter is input to the row decoder.
제3항에 있어서,
상기 캐시 주소 변환기는, 데이터 캐시, 텍스쳐 캐시, 상수 캐시 및 공유 메모리 중 하나를 식별하기 위한 코드를 이용하여 기존 캐시 주소를 3차원 레이어 배치에 따른 새로운 캐시 주소로 변환하여 출력하는 GPU L1 캐시 메모리 장치.
According to claim 3,
The cache address converter uses a code to identify one of a data cache, a texture cache, a constant cache, and a shared memory, and converts an existing cache address into a new cache address according to the 3D layer arrangement and outputs the GPU L1 cache memory device .
제3항에 있어서,
요구되는 비트 셀의 레이어 아이디를 식별하는 레이어 디코더;
비트라인을 통해 전달된 비트 셀로부터의 데이터를 이용하여 요구된 데이터를 선택하는 컬럼 디코더; 및
상기 선택된 데이터 신호를 증폭하는 센스 앰프를 더 포함하는 GPU L1 캐시 메모리 장치.
According to claim 3,
A layer decoder that identifies the layer ID of the requested bit cell;
A column decoder for selecting requested data using data from a bit cell transmitted through a bit line; And
GPU L1 cache memory device further comprising a sense amplifier for amplifying the selected data signal.
KR1020190008189A 2019-01-22 2019-01-22 Monolithic 3D integration based L1 cache memory for GPUs KR102172556B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190008189A KR102172556B1 (en) 2019-01-22 2019-01-22 Monolithic 3D integration based L1 cache memory for GPUs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190008189A KR102172556B1 (en) 2019-01-22 2019-01-22 Monolithic 3D integration based L1 cache memory for GPUs

Publications (2)

Publication Number Publication Date
KR20200091206A true KR20200091206A (en) 2020-07-30
KR102172556B1 KR102172556B1 (en) 2020-11-02

Family

ID=71839104

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190008189A KR102172556B1 (en) 2019-01-22 2019-01-22 Monolithic 3D integration based L1 cache memory for GPUs

Country Status (1)

Country Link
KR (1) KR102172556B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220114316A (en) * 2021-02-08 2022-08-17 고려대학교 산학협력단 A monolithic 3D based scratchpad memory

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101639943B1 (en) 2015-03-12 2016-07-15 성균관대학교산학협력단 Shared memory control method for facilitating shared memory of general purpose graphic processor as cache and general purpose graphic processor using same
KR101780586B1 (en) * 2016-03-16 2017-09-21 고려대학교 산학협력단 Monolithic 3D integration based cache memory
KR20180097351A (en) * 2017-02-23 2018-08-31 고려대학교 산학협력단 Monolithic 3d(m3d) integration-based cache memory
KR20180097352A (en) * 2017-02-23 2018-08-31 고려대학교 산학협력단 Monolithic 3d(m3d) integration-based cache memory
US20180286115A1 (en) * 2017-04-01 2018-10-04 Intel Corporation Conditional shader for graphics
US20180309965A1 (en) * 2017-04-24 2018-10-25 Intel Corporation High dynamic range imager enhancement technology

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101639943B1 (en) 2015-03-12 2016-07-15 성균관대학교산학협력단 Shared memory control method for facilitating shared memory of general purpose graphic processor as cache and general purpose graphic processor using same
KR101780586B1 (en) * 2016-03-16 2017-09-21 고려대학교 산학협력단 Monolithic 3D integration based cache memory
KR20180097351A (en) * 2017-02-23 2018-08-31 고려대학교 산학협력단 Monolithic 3d(m3d) integration-based cache memory
KR20180097352A (en) * 2017-02-23 2018-08-31 고려대학교 산학협력단 Monolithic 3d(m3d) integration-based cache memory
US20180286115A1 (en) * 2017-04-01 2018-10-04 Intel Corporation Conditional shader for graphics
US20180309965A1 (en) * 2017-04-24 2018-10-25 Intel Corporation High dynamic range imager enhancement technology
US10158833B2 (en) * 2017-04-24 2018-12-18 Intel Corporation High dynamic range imager enhancement technology

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220114316A (en) * 2021-02-08 2022-08-17 고려대학교 산학협력단 A monolithic 3D based scratchpad memory

Also Published As

Publication number Publication date
KR102172556B1 (en) 2020-11-02

Similar Documents

Publication Publication Date Title
US10242728B2 (en) DPU architecture
Gao et al. Practical near-data processing for in-memory analytics frameworks
US20190258601A1 (en) Memory Processing Core Architecture
CN108009119B (en) Processor and method of controlling workflow
JP6785738B2 (en) DRAM-based processing unit
US20210182200A1 (en) Graph-computing-oriented heterogeneous in-memory computing apparatus and operational method thereof
US10372358B2 (en) Access processor
KR102268179B1 (en) Software stack and programming for dpu operations
WO2021155669A1 (en) Distributed weight storage-based architecture and method for accelerating neutral network computing
US20190228308A1 (en) Deep learning accelerator system and methods thereof
US11366752B2 (en) Address mapping between shared memory modules and cache sets
US20130207983A1 (en) Central processing unit, gpu simulation method thereof, and computing system including the same
US20140115294A1 (en) Memory page management
Lee et al. Buffered compares: Excavating the hidden parallelism inside DRAM architectures with lightweight logic
KR102172556B1 (en) Monolithic 3D integration based L1 cache memory for GPUs
US11410032B2 (en) Word2VEC processing system
KR20180097352A (en) Monolithic 3d(m3d) integration-based cache memory
US11625279B2 (en) Read-write page replication for multiple compute units
US9104465B2 (en) Main processor support of tasks performed in memory
US20220180162A1 (en) Ai accelerator, cache memory and method of operating cache memory using the same
US20200285579A1 (en) Programmable data delivery to a system of shared processing elements with shared memory
KR101967857B1 (en) Processing in memory device with multiple cache and memory accessing method thereof
US20230273733A1 (en) In-memory compute core for machine learning acceleration
US20220283806A1 (en) Processing-in-memory device having a plurality of global buffers and processing-in-memory system including the same
US20220019374A1 (en) Processing-in-memory (pim) systems

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant