KR101985096B1 - 비트슬라이스 연관메모리 - Google Patents

비트슬라이스 연관메모리 Download PDF

Info

Publication number
KR101985096B1
KR101985096B1 KR1020170125484A KR20170125484A KR101985096B1 KR 101985096 B1 KR101985096 B1 KR 101985096B1 KR 1020170125484 A KR1020170125484 A KR 1020170125484A KR 20170125484 A KR20170125484 A KR 20170125484A KR 101985096 B1 KR101985096 B1 KR 101985096B1
Authority
KR
South Korea
Prior art keywords
memory
bit
word
search
candidate group
Prior art date
Application number
KR1020170125484A
Other languages
English (en)
Other versions
KR20170115988A (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 KR1020170125484A priority Critical patent/KR101985096B1/ko
Publication of KR20170115988A publication Critical patent/KR20170115988A/ko
Application granted granted Critical
Publication of KR101985096B1 publication Critical patent/KR101985096B1/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/04Addressing variable-length words or parts of words
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 상기된 바와 같은 문제점을 해결하기 위한 것으로, 기존의 연관메모리의 일치 검출회로를 비트슬라이스 방식으로 알고리즘에 따라 순차적으로 연산하게 개선하면 정합관계 뿐만 아니라 메모리워드의 최대치, 최소치, 크기(대소), 범위 등 다양한 검색이 가능하고 논리연산 및 산술연산이 가능한 연관메모리의 구현이 가능하다. 본 발명의 아키텍처는 중앙처리기에 의한 연산이 없이도 크기(magnitude) 비교가 가능하다. 본 발명은 연관메모리에 다양한 연산기능을 제공한다. 한편 연산이 조기에 종료된 메모리워드는 불필요한 연산기의 동작을 억제하는 방법으로 소비전력을 최소화하여 대용량의 연관메모리 제조시 유용한 방법을 제공한다.
본 발명의 연관메모리는 저장된 데이터의 메모리 용량과 무관하게 바로 찾을 수 있고 검색, 처리속도를 대폭으로 개선할 수 있어, 전 병렬형 CAM보다 구조적으로 간단하고, 특정값을 1-회의 연관사이클(associative cycle)에 얻을 수 있어, 혁신적인 처리속도의 향상을 기대할 수 있다.

Description

비트슬라이스 연관메모리{Bit-Slice Associative Memory}
본 발명은 연관메모리 아키텍처에 관한 것으로 연관메모리는 대상 데이터 비트 별로 병렬성을 갖도록 하여 메모리 내용에 의하여 엑세스할 수 있는 메모리( Content Addressable Memory: CAM)로써, RAM과는 다르게 기억된 정보를 엑세스하기 위하여 어드레스를 사용하는 것이 아니고, 워드-병렬 비트-병렬 또는 워드-병렬 비트-직렬 방식으로 접근한다. 이는 기억된 정보의 일부분을 이용하여 원하는 정보를 신속히 찾을 수 있는 메모리로 그 내용에 의거하여 워드 수에 관계없이 고속으로 액세스 가능하여, 기능은 단순하나 대량의 정보를 고속처리에 적합한 메모리 아키텍처이다.
연관메모리는 병렬 연산기를 통하여 기억된 정보의 일부분을 이용하여 원하는 정보를 신속히 찾을 수 있는 메모리로 그 내용에 의거하여 워드 수에 관계없이 고속으로 엑세스할 수 있다. 연관메모리의 종류로는 전 병렬(all parallel CAM) 방식과 순차형(sequential CAM) 방식이 있다. 전 병렬(all parallel CAM) 방식은 워드-병렬 비트-병렬(word parallel bit parallel) 형으로 메모리 각 기억소자 마다 병렬 비교기를 가지고 있는 초 병렬 구조로 초고속 검색이 가능하나, 하드웨어의 구조가 너무 복잡하여 고가이고 그 기능이 검색 기능만으로 제한되어있으나, 캐시메모리나 페이징 장치 등 고속처리가 중요한 분야에 널리 사용된다.
10-051073, 다기능 연관메모리, 2005. 9. 8, 조진영
Allen Kent: James G. Williams, "Encyclopedia of Microcomputer", Vol. 4. pp. 121-147, Marcel Dekker, Inc.
본 발명은 상기된 바와 같은 문제점을 해결하기 위한 것으로, 기존의 연관메모리의 일치 검출회로를 비트슬라이스 방식으로 알고리즘에 따라 순차적으로 연산하게 개선하면 정합관계 뿐만 아니라 메모리워드의 최대치, 최소치, 크기(대소), 범위 등 다양한 검색이 가능하고 논리연산 및 산술연산이 가능한 연관메모리의 구현이 가능하다. 본 발명의 아키텍처는 중앙처리기에 의한 연산이 없이도 크기(magnitude) 비교가 가능하다. 한편 연산이 조기에 종료된 메모리워드는 불필요한 연산기의 동작을 억제하는 방법으로 소비전력을 최소화하여 대용량의 연관메모리 제조시 유용한 방법을 제공한다.
본 발명의 다른 목적과 장점은 아래의 발명의 상세한 설명을 읽고 아래의 도면을 참조하면 보다 명백해질 것이다. 본 발명은 연관메모리에 다양한 연산기능을 제공하는데 그 목적이 있다.
본 발명의 병렬 연산 아키텍처는 알고리즘에 입각한 순서에 따라 모든 메모리워드가 비트슬라이스로 후보군의 모든 메모리가 병렬 연산하는 방식으로, 새로운 기능을 메모리상에 구현할 수 있다. 이로써 기존의 연관메모리에 없는 기능을 얻을 수 있다. 이러한 방법으로 단순한 기능을 확장하므로 써 유용한 응용을 찾을 수 있다.
검색시 필요조건을 순차적으로 비교하여 필요조건을 만족하지 못한 후보군에서 탈락시키는 방법으로 후보군을 순차적으로 축소하는 방법으로 원하는 값을 검색한다.
메모리 셀과 비교 및 연산 논리회로를 결합하여 비트슬라이스 방식으로 차례로 처리하여 특별한 효과를 갖는 수단을 구비한다.
본 발명의 연관메모리는 저장된 데이터의 메모리 용량과 무관하게 바로 찾을 수 있고 검색, 처리속도를 대폭으로 개선할 수 있어, 전 병렬형 CAM보다 구조적으로 간단하고, 특정값을 1-회의 연관사이클(associative cycle)에 얻을 수 있어, 혁신적인 처리속도의 향상을 기대할 수 있다.
도-1은 본 발명의 비트슬라이스 연관메모리 구조
도-2는 본 발명의 비트슬라이스 연관메모리의 후보군 축소 ASM도
도-3은 본 발명의 비트슬라이스 특정값-이상 검색 ASM도(BS-GE)
도-4는 본 발명의 비트슬라이스 특정값-이상 검색 연관메모리(BS-GE CAM)
도-5는 본 발명의 비트슬라이스 특정값-이하 검색 ASM도(BS-LE)
도-6은 본 발명의 비트슬라이스 특정값 이하 검색 연관메모리(BS-LE CAM)
도-7은 본 발명의 비트슬라이스 범위 검색 ASM도(BS-RANGE)
도-8은 본 발명의 비트슬라이스 특정값-초과 검색 ASM도(BS-GT)
도-9는 본 발명의 비트슬라이스 특정값-초과 검색 연관메모리(BS-GT CAM)
도-10은 본 발명의 비트슬라이스 특정값-미만 검색 ASM도(BS-LT)
도-11은 본 발명의 비트슬라이스 특정값-미만 검색 연관메모리(BS-LT CAM)
도-12는 본 발명의 비트슬라이스 최대값 검색 ASM도(BS-MAX)
도-13은 본 발명의 비트슬라이스 최대값 검색 연관메모리(BS-MAX CAM)
도-14는 본 발명의 비트슬라이스 최소값 검색 ASM도(BS-MIN)
도-15는 본 발명의 비트슬라이스 최소값 검색 연관메모리(BS-MIN CAM)
도-16은 본 발명의 비트슬라이스 특정값-일치 검색 ASM도(BS-EQ)
도-17은 본 발명의 비트슬라이스 특정값-일치 검색 연관메모리(BS-EQ CAM)
도-18은 본 발명의 비트슬라이스 특정값-불일치 검색 ASM도(BS-NE)
도-19는 본 발명의 비트슬라이스 특정값-불일치 검색 연관메모리(BS-NE CAM)
도-20은 본 발명의 비트슬라이스 연관메모리 워드의 기본 구조
도-21은 본 발명의 산술연산 기능이 확장된 비트슬라이스 연관메모리 블록 다이어그램
도-22는 본 발명의 비트슬라이스에 적용하기 위한 연관1-BIT ALU의 실시예
도-23는 본 발명의 소비전력 저감을 고려한 비트슬라이스 연관메모리워드 유니트 구조
도-24는 본 발명의 비트슬라이스 연관메모리(BS-CAM) 기본 실시예-1
도-25는 확장이 용이한 비트슬라이스 연관메모리(BS-CAM) 실시예-2
도-26는 저전력을 설계를 고려한 비트슬라이스 연관메모리(BS-CAM) 실시예-3
도-27은 8가지 검색기능을 갖는 비트슬라이스 연관메모리(BS-CAM) 실시예-4
도-28은 본 발명의 비트슬라이스 연관메모리 시뮬레이션 파형 (함수 : GE, LE, EQ, NEQ, GT, LT, MAX, MIN)
도-29는 본 발명의 논리·산술 연산가능 비트슬라이스 연관메모리(BS-CAM) 실시예-5
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. [도-1] 의 비트슬라이스 연관메모리의 모델에서 워드 당 n비트 m개의 워드를 갖는 m×n 메모리워드의 내용이 다음과 같을 때;
Figure 112017094827079-pat00001
각 메모리워드 중 특정워드의 논리 연산결과가 다음과 같이 순차적으로 직렬 비교 버스(contention bus)에 나타나게 하면;
인자 레지스터 또는 공통버스의 내용과 메모리 j-번째 워드의 비트스트림은
Figure 112017094827079-pat00002
Figure 112017094827079-pat00003
1. 비트슬라이스 후보군 축소
[도-1] 은 본 발명에서 본 발명의 가중치 비교에 의한 후보군 축소 알고리즘을 적용하기위한 비트슬라이스 연관메모리의 모델이다. 이 연관메모리는 워드 당 한 개의 1-비트 비교 유니트를 가지고 후보군 축소 알고리즘에 따라 다른 메모리워드의 내용과 연관된 내용을 비트와이즈로 검색하는 구조를 갖는다. 본 연관메모리는 모든 메모리워드의 내용을 전 병렬로 동시에 비교하는 방식이 아니라, 메모리워드의 가중치 순서에 의해 추출된 비트스트림을 비트-셀 단위로 비교하는 비트슬라이스 방식이다.
이를 구현하기 위한 수단으로 메모리 셀 어레이(memory cell array), 검색인자레지스터(search argument register), 태그 레지스터(tag register), 플래그레지스터(flag register), 경합버스(contention bus), 순차신호 발생기(sequencer : bit cell selector), 결과저장 레지스터(result register) 등의 요소로 구성된다. 태그 레지스터는 후보군(candidate group)을 설정하기 위하여 사용되고, 검색조건에 부적합한 워드의 다음 경합과정 참여 여부를 결정하는 레지스터로 1-연관사이클 후에는 경합 과정의 결과가 나타난다. 검색 완료 후에 이 레지스터의 내용을 액세스하면 결과치를 얻을 수 있다. 플래그레지스터는 검색과정에서 조기 종료한 워드의 재검색 방지를 관리하거나, 필요에 따라 추가 검색 대상의 선정, 레코드 길이의 가변 또는 다단계 검색 단계에서 재검색을 방지하거나 추가로 기능을 확장하기 위한 것으로 추가로 액세스 대상 워드를 결정하는데 이용된다. 경합버스는 모든 메모리워드 비트스트림 출력의 병렬 논리연산 결과 또는 인자레지스터의 크기 비교시 비트스트림이 출력 된다. 결과 레지스터는 단일 연관 사이클 후에는 검색 결과인 최대/최소값 또는 크기 비교 연산 과정에서의 대표값 등이 저장된다.
본 발명의 연관메모리는 기존의 병렬 연관메모리와는 다르게 메모리워드를 직렬화 장치(shift register, sequencer)를 통하여 비트슬라이스 방식으로 비교와 검색에서는 MSB에서 부터 가중치가 작아지는 순으로 1-비트씩 비트슬라이스 방식으로 추출하여 추출된 전 비트를 병렬 비교한다. 이런 방법을 사용함으로써 저장된 모든 메모리워드 내용 간 또는 메모리워드와 인자레지스터간의 대소관계를 병렬로 찾을 수 있다.
산술연산에서는 LSB에서 부터 가중치가 커지는 순으로 1-비트씩 비트슬라이스 방식으로 추출하여 추출된 전 비트를 병렬 연산한다.
논리연산에서는 상기에 기술한 어떤 방법을 사용해도 무방하다.
본 연관메모리는 전 메모리워드 내용의 전체를 동시에 비교하는 방식이 아니라, 워드병렬-비트직렬 방식으로 메모리워드 내용 중 일부를 비트슬라이스 방법으로 가중치 순에 따라 추출하여 셀들의 내용을 병렬 비교한다.
본 발명의 비트슬라이스 연관메모리는 메모리를 구성하는 모든 워드에 대하여 워드병렬-비트직렬 방식으로 연산이 가능한 네트워크를 구성하여, 선행 비트슬라이스 비교과정에서 필요조건을 만족하지 못한 메모리워드를 후보군에서 탈락시키는 방법으로, 후보군 축소과정을 n번(1-연관사이클) 반복하면 최대값 등 특정 정보의 검색이 가능하다]. 이상의 알고리즘을 순서도로 표현하면 [도-2] 와 같다.
2. 비트슬라이스 특정값-이상 검색
특정값-이상 검색 알고리즘은 인자레지스터에 설정된 특정값과 검색대상(후보군) 워드가 특정값-이상의 조건을 부분적으로 만족하는지 여부를 가중치가 큰것 부터 작아지는 순서로 비트슬라이스 비교한다.
Figure 112017094827079-pat00004
위 비교단계에서 최소 필요조건을 만족하지 못한 메모리워드는 후보군 축소과정 후보군에 탈락시키고, 충분조건을 만족한 메모리워드는 경합에서 제외시킨다. 이는 선택이 확정(선정)된 경우이므로 해당 워드의 이후 경합과정 참여는 의미가 없고 불필요하므로 충분조건을 만족하는 최초의 시점에 선택된 경우이므로 이후 경합과정에서 제외시키고 나머지 워드들은 위 경합과정을 LSB까지 반복한다.
특정값-이상 검색에서는 상기 최대·최소값 검색 알고리즘과는 다르게 비교 특정값(threshold)이 필요하다. 인자레지스터에 비교기준 특정값을 적재한 후 비트슬라이스 비교과정을 진행한다. 비교 기준치인 특정값을 저장하고 있는 검색 인자레지스터는 버스에 비트스트림을 출력한다. 이때 공통버스의 출력은 식(5)와 같다.
Figure 112017094827079-pat00005
비트와이즈 비교과정에서 탈락조건
Figure 112017094827079-pat00006
비트와이즈 비교과정에서 선정조건
Figure 112017094827079-pat00007
위 두 조건 중 하나라도 만족하면 경합과정을 종료한다. 이러한 비트슬라이스 비교과정을 LSB까지 반복하면 특정값-미만을 갖는 메모리워드는 탈락되고 나머지는 태그레지스터를 통하여 확인할 수 있다. 이 경우 필요충분조건을 만족하는지를 비교하는 비교기 2개가 필요하고 검색 알고리즘은 [도-3] 과 같고 이를 설명하면 다음과 같다.
m개의 메모리워드 중 검색 대상을 선정한다.
② 비교 특정값을 인자레지스터에 적재한다.
③ 위 후보군의 모든 메모리워드와 인자레지스터의 내용을 비트슬라이스 방법으로 1비트씩 추출한다.
④ 위 추출된 각 비트와 인자레지스터 간의 크기를 비교한다.
⑤ 비트와이즈 결합과정에서 메모리워드의 출력이 인자레지스터의 출력보다 작으면 후보군에서 탈락시킨다.
⑥ 비트와이즈 결합과정에서 메모리워드의 출력이 인자레지스터의 출력보다 크면 제외시키고 이후 경합과정을 종료한다.
⑦ 비트-스트림 추출 위치를 다음 하위 자리로 이동하여 최하위 비트에 도달될 때까지 단계③ 부터 반복 실행한다.
이 경우 필요충분조건을 만족하는지를 비교하는 비교기가 2개 필요하고 이상의 알고리즘을 ASM도로 표현하면 [도-3] 와 같고 [도-4] 는 본 발명 비트슬라이스 연관메모리의 실시예이다.
3. 비트슬라이스 특정값-이하 검색
특정값-이하 검색 알고리즘은 인자레지스터에 설정된 특정값과 검색대상(후보군) 워드가 특정값-이하의 조건을 부분적으로 만족하는지 여부를 가중치가 큰 순서부터 각 비트슬라이스 방법으로 비교한다.
Figure 112017094827079-pat00008
위 비교단계에서 최소 필요조건을 만족하지 못한 메모리워드는 후보군 축소과정 후보군에 탈락시키고, 충분조건을 만족한 메모리워드는 경합에서 제외시킨다. 이는 선택이 확정된 경우이므로 해당 워드의 이후 경합과정 참여는 의미가 없고 불필요하므로 충분조건을 만족하는 최초의 시점에 경합과정에서 제외시키고 나머지 워드들은 위 경합과정을 LSB까지 반복한다.
특정값-이하 검색에서는 상기 비트슬라이스 최대·최소값 검색 알고리즘과는 다르게 비교 특정값(threshold)이 필요하다. 인자레지스터에 비교기준 특정값을 적재한 후 비트슬라이스 비교과정을 진행한다. 비교 특정값을 저장하고 있는 검색 인자레지스터는 버스에 비트-스트림을 출력한다. 이때 공통버스의 출력은 식(5)와 같다.
비트와이즈 비교과정에서 탈락조건
Figure 112017094827079-pat00009
비트와이즈 비교과정에서 선정조건
Figure 112017094827079-pat00010
위 두 조건 중 하나라도 만족하면 경합과정을 종료한다. 이러한 비트슬라이스 비교과정을 LSB까지 반복하면 특정값을 초과한 메모리워드는 탈락되고 나머지는 태그레지스터를 통하여 특정값-이하 검색 결과를 확인할 수 있다.
이 경우 필요충분조건을 만족하는지를 비교하는 비교기가 2개 필요하고 검색 알고리즘을 ASM도로 표현하면 [도-5] 와 같고 [도-6] 는 본 발명 비트슬라이스 연관메모리의 실시예이다.
4. 비트슬라이스 범위 검색
[도-7] 의 비트슬라이스 범위검색 알고리즘은 먼저 검색 하한 값을 검색인자레지스터에 적재하여 특정값-이상 검색을 통하여 일차적으로 후보군을 걸러낸 후, 검색 상한 값을 검색인자레지스터에 로드하여 특정값-이상의 메모리워드를 후보군에서 제거시키는 방법으로 2회의 연관 사이클을 거쳐 특정 범위내의 정보를 검색한다. 이는 연관메모리의 각 워드 유니트를 [도-4] 과 같이 구성한 후 특정값-이상을 검색하여 후보군을 1차적으로 분류한 다음, [도-6] 으로 구성하여 특정값-이하를 2차 분류함으로써 범위 내에 속하는 메모리워드를 검색한다.
Figure 112017094827079-pat00011
이 경우 필요충분조건을 만족하는지를 비교하는 비교기가 2개 필요하고 이상의 알고리즘을 ASM도로 표현하면 [도 7] 과 같다.
5. 비트슬라이스 특정값-초과 검색
비트슬라이스 특정값-초과 검색은 여함수(complement)관계를 이용하여 먼저 특정값-미만(BS-LT)을 검색한 후 그 결과를 보수화(inverting)하면 간단히 검색된다. 보수화는 [도-8] 에 보인바와 같이 경합 싸이클 종료 단계에서 검색결과가 저장된 모든 워드의 TAG 레지스터를 반전시키면 된다.
Figure 112017094827079-pat00012
이상의 알고리즘을 ASM도로 표현하면 [도-8] 와 같고 [도-9] 는 본 발명 비트슬라이스 연관메모리의 실시예이다.
6. 비트슬라이스 특정값-미만 검색
비트슬라이스 특정값-불일치 검색은 여함수관계를 이용하여 먼저 특정값-일치(BS-EQ)을 검색한 후 그 결과를 보수화하면 간단히 검색된다. 보수화는 경합 싸이클 종료 단계에서 검색결과가 저장된 태그레지스터(TAG)를 반전시키면 된다.
Figure 112017094827079-pat00013
이상의 알고리즘을 ASM도로 표현하면 [도-10] 와 같고 [도-11] 는 본 발명 비트슬라이스 연관메모리의 실시예이다.
7. 비트슬라이스 최대값 검색
본 발명의 비트슬라이스 연관메모리( m-word X n-bit)에서 최대값 검색은 [도-12] 의 ASM도와 같이 m개의 메모리워드들 중 검색대상을 설정하는 수단, 검색대상 메모리워드에서 1비트씩 비트스트림을 추출하는 수단 m개, m개 입력을 갖는 논리합 연산기(OR), 최대값 필요조건의 만족 여부를 비교하는 1비트 비교기 m개 및 경합과정에서 필요조건을 만족하지 못하면 후보군에서 제외시키는 수단 m개를 구비하여, 다음의 동작을 수행하는 논리회로를 구성하면 최대값 검색이 가능한 연관메모리를 구성할 수 있고, 비트스트림 추출 순서는 MSB에서 부터 가중치가 작아지는 순서로 다음 동작을 진행한다. [도-12] 등 ASM도에서 "for=(j=(m-1)..0,j=j+1)" 블록은 m개의 하드웨어에 의한 병렬처리를 표현한 것이다.
① 메모리워드 중 후보군을 설정한다.
② 모든 후보군의 메모리워드에서 비트슬라이스로 추출된 비트스트림을 병렬로 OR 연산
Figure 112017094827079-pat00014
한 후 경합버스(BUS)에 출력한다.
Figure 112017094827079-pat00015
③ 각 메모리워드는 자신의 비트스트림 출력(B ji )과 경합버스(BUS)을 비교하여(COMP), 자신의 출력이 작으면 태그레지스터를 리셋(T j=0)함으로써 경합을 철회한다(후보군에서 탈락).
*
Figure 112017094827079-pat00016
④ 모든 메모리워드의 내용 중 최대값이 경합버스의 비트스트림을 결과레지스터에 순차적으로 저장한다.
⑤ 비트슬라이스 비교대상(i)을 하위자리로 이동하여 단계 ②부터 LSB(i=0)까지 반복한다.
이상의 비트슬라이스 최대값 검색 알고리즘은 [도-13] 과 같이 논리회로만으로 구현이 가능하다. 검색결과는 결과레지스터에서 바로 얻을 수도 있다. 본 발명에서는 프로그램어블 시퀀서에 의한 비트스트림의 추출 위치를 임의로 선택하는 방법을 제안하였으나, 검증에서는 쉬프트 레지스터로 비트스트림을 얻었다.
본 발명의 비트슬라이스 연관메모리는 메모리를 구성하는 모든 워드에 대하여 워드병렬-비트직렬 방식으로 연산이 가능한 네트워크를 구성하여, 선행 비트슬라이스 비교과정에서 필요조건을 만족하지 못한 메모리워드를 후보군에서 탈락시키는 방법으로, 후보군 축소과정을 n번(1-연관사이클) 반복하면 최대값 등 특정 정보의 검색이 가능하다. 이상의 알고리즘을 순서도으로 표현하면 [도-12] 와 같고 [도-13] 는 본 발명 비트슬라이스 연관메모리의 실시예이다.
8. 비트슬라이스 최소값 검색
상위 비트가 동일할 경우 m-bit 메모리워드 j번째 검색에서 최소값을 만족하는 조건은;
Figure 112017094827079-pat00017
최소값 검색에서 식(15)는 공통버스의 값은 모든 후보 메모리워드의 i번째 비트열의 논리곱이므로 연산식은 다음과 같다.
Figure 112017094827079-pat00018
본 발명의 비트슬라이스 연관메모리에서 식(16)은 모든 메모리워드에서 추출된 비트스트림의 논리곱으로 모든 공통적으로 필요하므로 공통 경합버스에 나타나게 한다. 위 논리곱의 연산은 매 비트열에 대해 연산한 후, 모든 메모리워드는 위 연산 결과와 추출된 자신의 비트값을 비교하여 자신이 크면 이후 검색과 정의 경합을 철회함으로써 후보군에서 제외된다.
본 발명의 최소값 검색 알고리즘은 메모리워드 중 최소값 후보군을 설정한 다음, 후보군의 메모리워드 비트-셀의 가중치 순으로 최소값 필요조건을 만족하는지를 워드병렬-비트직렬 비트연산을 하고, 만족하지 못한 메모리워드를 최소값 후보군에서 차례로 탈락시키는 후보군 축소과정을 반복한다. 이 과정에서 최하위 비트까지 차례로 검색과정을 거친 후 제거되지 않고 최후 비교과정 까지 남은 워드가 최소값이다.
k번째 워드의 i번째 검색과정은 i번째보다 상위비트는 선행 검색단계의 필요조건을 만족하여 후보군에 포함되어야 하고, 이 비트와이즈 비교과정에서 최소값 후보군의 필요조건을 만족하지 못한 경우 탈락조건은 다음과 같이 쓸 수 있다.
Figure 112017094827079-pat00019
즉, 후보군 메모리워드의 상위자리가 동일할 경우 탈락조건은 k번째 워드의 i번째 비트값이 하나 이상의 다른 워드의 i번째 비트값 보다 큰 경우이다. 이후 과정은 상기 최대값 검색과정과 동일한 방식으로 처리된다.
본 발명의 비트슬라이스 연관메모리는 메모리를 구성하는 모든 워드에 대하여 워드병렬-비트직렬 방식으로 병렬 연산이 가능한 네트워크를 구성하여, 필요조건을 만족하지 못한 메모리워드를 후보군에서 탈락시키는 방법으로, 후보군 축소과정을 LSB 까지 반복하면 최소값을 1-연관사이클에 검색 할 수 있다. 이상의 알고리즘을 프로우 다이어그램으로 표현하면 [도-14] 에 보인 바와 같이, 내용에 따라 매 비교 사이클 마다 후보 메모리워드의 수를 줄여 나갈 수 있다. [도-15] 는 본 발명 비트슬라이스 연관메모리의 실시예이다.
9. 비트슬라이스 특정값-일치 검색
*특정값 검색에서는 상기 최대/최소값 검색 알고리즘과는 다르게 비교 키값이 필요하다. 이 키값(threshold)을 인자레지스터에 적재하고 다음 비트와이즈-비교과정을 진행한다.
Figure 112017094827079-pat00020
특정값이 저장된 검색 인자레지스터의 비트스트림의 출력을 식(3.2)와 같이 가중치 순으로 공통버스(BUS)에 인가한다.
Figure 112017094827079-pat00021
식(2)는 본 발명의 비트슬라이스 연관메모리 검색 인자레지스터의 비트스트림의 출력이 공통 경합버스에 나타나게 한다. 탈락 조건은 식(18)의 여함수이므로 식(21)와 같고, 추출된 자신의 비트값을 비교하여 일치하지 않으면 이후 검색과정의 경합에서 철회함으로써 후보군에서 제외한다.
본 발명의 특정값 검색 알고리즘은 메모리워드 중 특정값 후보군을 설정한 다음, 후보군의 메모리워드 비트 셀과 인자레지스터의 내용을 비교하여 각 대응 비트가 전부 일치하지 않으면 후보군에서 탈락시킨다. 이 과정에서 후보군에서 탈락되지 않는 워드가 특정값이다. 이 비교과정에서 탈락조건은 다음과 같이 쓸 수 있다.
Figure 112017094827079-pat00022
즉, 후보군 메모리워드의 탈락조건은 k번째 워드의 i번째 비트값이 하나 이상의 다른 워드의 i번째 비트값 보다 불일치 할 경우이다. 이후 과정은 상기 최대값 검색과정과 동일한 방식으로 처리된다.
후보군 축소과정은 꼭 비트와이즈 방법의 가중치 순으로 검색할 필요가 없으나, 여타의 방법이 모두 비트와이즈 방법으로 비교하므로 비트와이즈 중재방법 구성하면 동일한 하드웨어로 특정값 검색이 가능하여 추가 하드웨어가 불필요하므로 현실적으로 유리하다. 이상의 알고리즘의 ASM도는 [도-16] 과 같다.
본 연관메모리의 특정값-일치 검색에서 비트와이즈 검색과정의 기본 절차는 상기 기술한 알고리즘과 동일하고 후보군 탈락 조건만 다르다. 따라서 논리회로가 위와 유사하여 공통으로 사용할 수 있고 구체적인 기술은 생략한다. 특정값-일치 검색 알고리즘은 비교대상이 되는 워드와 공통버스에 출력된 검색 인자레지스터의 내용을 비트슬라이스 방식으로 1비트 씩 차례로 비교하여 자신의 출력 값이 일치하지 않으면 태그 레지스터를 리셋 함으로써 메모리워드를 후보군에서 제외시켜 이후 경합과정에 참여하지 못하게 한다. 따라서 불일치를 비교할 수 있는 논리회로는 XOR 게이트로 충분하다. 모든 후보군 축소과정이 종료되어 태그 레지스터를 확인하면 검색 결과를 찾을 수 있다. 특정값-일치 검색의 경우 메모리워드의 내용에 따라 복수의 결과가 나올 수 있다. 특정값-일치 검색의 경우에도 검색결과는 결과 저장레지스터에 저장된다. 본 비트슬라이스 연관메모리는 구조상 특정값-일치 검색에서 만 완전 병렬형 연관메모리보다 처리속도가 느리고, 상대 처리 속도는 검색워드의 비트셀 수(n)의 역수가 된다(1/n).
10. 비트슬라이스 특정값-불일치 검색
비트슬라이스 특정값-초과 검색은 여함수 관계를 이용하여 먼저 특정값-미만(BS-LT)을 검색한 후 그 결과를 보수화하면 간단히 검색된다. 보수화는 경합 싸이클 종료 단계에서 검색결과가 저장된 TAG레지스터를 반전시키면 된다.
Figure 112017094827079-pat00023
이상의 알고리즘을 순서도으로 표현하면 [도-18] 과 같고 [도-19] 는 본 발명 비트슬라이스 연관메모리의 실시예이다.
상기 비트슬라이스 후보군 축소 알고리즘들은 많은 공통요소를 갖고 있다. 하드웨어를 구현할 때 이 공통요소를 공유하도록 하면 하드웨어를 단순화할 수 있어 효과적이다. [도-20] 은 상기 알고리즘을 복합화한 비트슬라이스 연관메모리의 실시예이다.
연관메모리는 특징상 워드의 수가 많을수록 상대적으로 속도의 개선 효과가 뚜렷하여 메모리워드가 초병렬 어레이로 구성되게 되므로 상용화 칩 제조시 대용량 메모리를 집적할 경우를 고려하여 최대한 단순화해야 한다. 여기에 상용화에 적용 가능한 실시예를 보인다. [도-23] , [도-26] 참조
[도-20] 은 상기 알고리즘들이 하나의 연산 유니트에서 5가지 검색이 가능한 다기능 논리 연산 유니트을 갖는 비트슬라이스 연관메모리워드의 구성을 보인다. 표(2)는 다기능 비트슬라이스 연관메모리의 기본 제어함수표이다. 이 제어함수의 코드를 변경함으로서 최대/최소값, 특정값, 특정값-이상/이하 등 검색을 한 종류의 연산 유니트에서 검색 가능하도록 하였다. 본 발명에서는 임의의 비트를 추출할 있는 프로그램어블 시퀀서를 통한 비트 추출 방법을 제안하였으나 시뮬레이션에서는 간단한 검증을 위해 직렬화 장치는 쉬프트 레지스터를 사용하여 검증하였다.
고안한 다기능 연관메모리는 다음 제어함수를 통하여 연산의 종류를 선택할 수 있다. 제어함수는 FS2, FS1, FS0 3비트로 구성된다. 본 발명의 다기능 연관메모리의 기본함수는 최대/최소값, 특정값-일치, 특정값-이상/이하 5가지 검색기능을 갖도록 설계되었다. 여기서 제어함수의 정의를 보면 다음과 같다.
(1) 제어함수 FS2는 메모리워드에서 추출된 비트스트림 또는 검색 인자레지스터 비트스트림의 공통버스 할성화를 선택한다.
FS2=0 : 검색 인자레지스터의 공통버스 활성화 신호로 특정값-일치 검색 및 크기 검색 시에 선택한다.
FS2=1 : 메모리워드의 공통버스 활성화 신호로 최대/최소값 검색 시에 선택한다.
(2) 제어신호 FS1은 비트슬라이스 검색에서 비교기준이 크기 인지 또는 정합인지를 선택한다.
FS1=0 : 크기 검색(Magnitude)
FS1=1 : 정합 검색(EQ, Match)
(3) 제어신호 FS0(MIN)는 메모리워드 비트스트림 출력신호를 반전시켜, MIN 함수와 MAX함수 및 LE함수와 GE함수 간에 논리의 이원성(duality)을 적용시킬 것인지를 결정한다. 이를 이용하면 하나의 논리 유니트가 2가지 기능을 갖게 된다.
FS0=0 : 최대값(MAX) 또는 특정값-이상(GE) 검색
FS0=1 : 최소값(MIN) 또는 특정값-이하(LE) 검색
표(4.1)은 최대·최소값, 특정값 및 크기 검색이 가능한 다기능 연관메모리의 기본 제어함수 표이다.
Figure 112017094827079-pat00024
■ 여함수를 이용한 검색기능의 확장
[도-27] 의 실시 예는 8가지 검색기능을 갖는 비트슬라이스 연관메모리(BS-CAM)의 모델이다. 상기 5가지 기본함수를 바탕으로 여함수(complement) 관계를 이용하여 3가지 검색기능(GT, LT, NE)을 추가함으로써 검색기능을 총 8종으로 확장한 것이다(함수 : GE, LE, EQ, NE, GT, LT, MAX, MIN). 표(3)은 확장 구현된 연산코드의 코드표이다. 표(4.1)에 보인 중복 함수를 제거하고 확장된 함수를 그 자리에 배치하도록 인코드 하였다. 시뮬레이션에서는 연산코드의 2진 집합을 불필요하게 늘여 연산코드의 선로수를 증설하지 않는 경합종료 타이밍 신호이다.
Figure 112017094827079-pat00025
■ 비트슬라이스 연관메모리의 논리연산 기능 확장
본 발명의 비트슬라이스 연관메모리에서 주기능인 특정값 검색 기능에 추가하여 논리연산이 가능한 기능을 확장 구현하였다. 이 논리연산 기능은 대량 데이터의 논리연산이나 비트조작이 필요한 멀티미디어 분야 등에 특히 유용할 것이다. 본 발명의 연산유니트는 매 워드 당 하나의 1비트 연산유니트 만 필요하다.
[도-21] 에 논리연산 기능이 확장된 비트슬라이스 연관메모리의 구현 예를 보인다. 비트슬라이스 논리연산의 연산순서는 가중치와 상관없다. 설계에서는 비트슬라이스 검색에서 사용한 방법을 그대로 이용할 수 있다. 이 논리연산의 AND, OR, XOR 등 바이너리 연산에서 모든 메모리워드는 자신의 내용과 인자레지스터의 내용을 논리연산하여 자신의 메모리의 워드에 그 결과를 저장한다. 단항자(unary)연산인 NOT, SET, CLEAR 연산은 자신의 메모리워드로만 연산한다. 표(4.5)에 보인 바와 같이 본 발명에서는 대표적인 8가지의 기본 연산에 대해서만 구현 예를 보였다. 이는 연관메모리의 워드를 너무 복잡하게 할 가능성이 있기 때문이다. 이 기본함수를 조합하면 연산함수를 확장할 수 있으므로 단순하게 설계하는 것이 중요하다. 이 연산 기능은 모든 메모리워드가 자신의 1비트 CPU를 갖는 셈이다. 또한 비트 SHIFT, ROTATE, BIT(Bit Test)도 본 비트슬라이스 연관메모리 구조상 구현이 용이한 구조를 갖는다.
기존의 워드-병렬 비트 직렬 CPU가 이러한 연산을 하기 위해서는 매 메모리워드의 내용을 CPU에 로드하여 연산한 후 다시 저장하는 방식이므로 대량의 데이터일 경우 많은 처리시간이 필요하나 본 발명의 연관메모리에서는 1회의 연관 사이클로 모든 메모리에 대해 논리연산이 가능하다. 이 기능은 완전병렬 연관메모리에서도 구현 가능할 것이나 매 비트셀 당 하나의 연산 유니트가 필요하므로 구조상 너무 복잡하여 현실적이지 못한 것으로 판단된다.
그래픽스 등 특정분야에서는 비트연산을 포함한 논리연산은 사용 빈도가 매우 높고 반복하여 다룬다. 이 분야에 논리연산 기능을 이용하면 처리속도를 현저하게 개선가능 할 것이다. 이 기술을 Graphic Processor나 프레임 메모리의 설계에 이용하면 처리속도를 크게 개선시킬 수 있을 것이다.
Figure 112017094827079-pat00026
■ 비트슬라이스 연관메모리의 산술연산 기능 확장
본 발명에서는 특정값 검색 기능과 논리연산 기능에 추가하여 산술연관이 가능한 비트슬라이스 연관메모리를 구현한다. 이 산술연산 기능은 대량데이터의 산술연산이나 비트조작이 필요한 분야 등에 유용할 것이다. 산술연산 유니트는 매 워드 당 하나의 산술연산 유니트가 필요하다.
비트슬라이스 산술연산은 검색기능과는 다르게 가중치가 증가하는 방향으로 비트와이즈 연산을 실행해야한다. [도-22] , [도-29] 에 보인바와 같이 캐리플래그(carry/borrow flag), 부호플래그 이외는 논리연산 유니트와 동일한 구조를 갖으나, 시프트 레지스터는 좌측으로 시프트레지스터로 바꾸어야한다. 실제 구현에서는 양방향 쉬프트레지스터로 구현 하거나, 다음에 보인 연산 순서를 임으로 변경할 수 있는 프로그램어블 시퀀서를 사용하는 것이 바람직하다.
그러나 가산, 감산, 보수연산은 메모리워드의 구조를 크게 변경하지 않아도 구현 가능하나, 곱셈 나눗셈 연산은 매 워드당 2배의 메모리 셀이 필요하여 연관메모리 구조가 너무 복잡하여진다. 따라서 이 산술연산 기능은 연관메모리는 유용성에 비해 구조가 상대적으로 복잡하여 고비용구조로 아직은 실용화하기에는 이른 감이 있으나 특수 목적인 컴퓨터에 적용 가능할 것이다. 특히 본 기술은 반도체 집적도 기술의 발전과 더불어 시간이 지날수록 유용한 기술이 될 것이다.
연관메모리 기술은 단순한 기능, 복잡한 구조, 비 유연성 및 고비용 구조로 인해 컴퓨터의 주 메모리에는 사용되지 않았으나, 본 발명에서 연관메모리는 기능이 확장되었고, 단순한구조로 구현 가능하여, 반도체기술의 발전은 가까운 장래에 주 메모리에서도 적용 가능하게 할 것이다.
■ 소비전력 저감
본 발명의 비트슬라이스 후보군 축소 알고리즘들은 많은 공통요소를 갖고 있다. 이를 하드웨어로 구현할 때 공통요소를 공유하도록 하면 하드웨어를 단순화할 수 있다. 연관메모리는 특징상 워드의 수가 많을수록 상대적으로 속도의 개선 효과가 뚜렷하여 메모리워드가 초병렬 어레이로 구성되게 되므로 상용화 칩 제조시 대용량 메모리를 집적할 경우를 고려하여 최대한 단순화하였다.
또한 초대규모의 상용화칩 제조시 소비전력을 경감시키기 위해 [도-23] 의 다기능 비트슬라이스 메모리워드 유니트의 일부 회로를 변경하였다. 이는 고속으로 동작하는 다수의 논리회로 중 불필요한 메모리 유니트의 전기적 동작을 억제시키는 것이 소비전력 경감에 유리하기 때문이다.
경합과정 중에 탈락의 필요조건이나 선정의 충분조건을 만족한 메모리워드 및 함수 제어 유니트 등 회로의 동적 동작을 최대한 억제하기 위해 메모리워드의 불필요한 회로에 클럭의 공급을 차단하는 방법으로 역활이 종료된 회로를 전기적으로 정적인 상태로 유지하게 하여 불필요한 전력 소비를 억제한다. 이를 위해 연산 기능과 상관없이 LPG라는 게이트가 추가 되었고, 검색 데이터의 내용에 따라 달라지므로 일괄적인 결론을 내릴 수는 없으나, 시뮬레이션 상 파형관찰에 의하면 최대·최소값 및 일치검색에서 다소 낮고 범위 검색에서는 10% ~ 90% 정도 까지 회로의 동작을 제한시킬 수 있다.
특히 크기검색에서 후보자중 조기에 선택의 충분조건을 만족한 경우가 많다. 이런 후보자는 조기에 선택이 확정되고(F J=1) 이후 경합과정은 조기 중단하여 관련회로에 전력을 공급할 필요가 없다. 즉 조기에 확정되었거나 조기에 탈락되어 경합을 종료한 회로에 전력이나 클럭을 차단함으로써 불필요한 전력 소비를 줄일 수 있을 것이다. 본 발명의 연관메모리는 다수를 초병렬로 구현하였을 시 그 효과가 커지므로 각 메모리워드 유니트의 불필요한 전력 소비를 경감하는 것은 대단한 의미가 있어 상용화에 유리할 것이다.
또한 본 연관 메모리의 특정값-이상·이하, 특정값-초과/미만, 및 범위검색 알고리즘에서 경합사이클 진행 중에 검색의 충분조건이 만족되어 조기 검색된 메모리워드는 1-연관검색이 완료되기 전에 결과를 찾아지는 경우가 발생한다. 이 경우 [도-24] 에 보인바와 같이 '
Figure 112017094827079-pat00027
'라는 신호로 출력된다. 상기 신호가 검출되면 결과가 확정된 경우 이므로 결과를 처리하면 더욱더 검색속도의 향상이 가능하다. 이를 이용하면 경합 사이클이 종료될 때까지 대기하지 않아도 검색된 정보를 알 수 있으므로 검색시간을 단축할 수 있다.
비트슬라이스 알고리즘 ASM도에서 사용되는 연산자 및 연산기호
∪ : Logical OR
∩ : Logical AND
T : Tag Register
F : Flag Register
Q : Result Register
B : Bit-stream of Memory Word
n : Word Length, Number of Bit Cell
m : Number of Words(Records)
BUS : Common Comparison Bus/Contention Bus
i : i-th Bit Scan
j : j-th Word Scan

Claims (3)

  1. 다수의 메모리 워드들이 공통버스와 연산이 가능한 연관메모리 특정값 검색에 있어서,
    (1) 상기 메모리 워드들의 정보를 물리적 저장위치와 무관하게 논리적 가중치에 따라 비트슬라이스 방법으로 추출하여 상기 공통버스로 출력하는 단계;
    (2) 상기 추출된 메모리 워드들의 논리치와 상기 공통버스의 논리치를 각각 비트연산하는 단계;
    (3) 상기 비트 연산 결과에 따라 필요조건을 만족하지 못할 경우에 해당 메모리 워드는 그 시점부터 검색 대상 후보군에서 제거하여 상기 공통버스로의 출력을 차단함으로써 다음 경합과정에서 참여를 배제하는 후보군 축소단계; 및
    (4) 상기 메모리워드의 논리적 가중치에 따라 단계 (1) 내지 (3)까지 반복함으로써 1-연관사이클(associative cycle) 이내에 특정값이 저장된 어드레스를 검색하는 것을 특징으로 하는 워드-병렬 비트-직렬(word-parallel bit-serial) 비트슬라이스 연관메모리(Bit-slice Associative Memory) 검색방법.

  2. m-워드 × n-비트( m, n : 자연수)로 구성된 메모리 셀을 갖는 메모리 워드들의 저장 내용의 연관 검색 및 다중 연산이 가능한 연관메모리에 있어서,
    (1) 비트슬라이스 방식으로 추출한 상기 모든 메모리 워드의 연관정보의 전송 수단인 공통버스;
    (2) 상기 메모리 워드들로 부터 물리적 저장위치와 무관하게 메모리의 특정 비트-셀 값을 논리적 가중치 순으로 출력하는 비트슬라이스 추출수단;
    (3) 상기 추출내용과 공통버스 내용을 연산하여, 그 결과를 다시 상기 공통버스에 출력하는 수단;
    (4) 상기 메모리 워드들의 출력 논리치와 공통버스의 논리치를 비교하는 수단;
    (5) 상기 비교결과가 불일치할 경우에는 해당 메모리 워드의 공통버스로의 출력을 차단시키는 후보군 축소수단; 및
    (6) 최소 필요조건을 만족하지 못한 메모리 워드를 즉시 연산대상 후보군에서 제거하는 수단을 포함하고, 1-연관사이클(1-associative cycle) 이내에 메모리 내용 전체를 대상으로 연산, 검색, 비교 및 특정값을 추출하는 것을 특징으로 하는 워드-병렬 비트-직렬(word-parallel bit-serial) 비트슬라이스 연관메모리(Bit-slice Associative Memory).

  3. m-워드 × n-비트( m, n : 자연수)로 구성된 비트슬라이스 연관메모리에서, 다중 연산 또는 특정값 검색을 위해, 검색/비교 값을 설정하는 인자레지스터(검색/비교 워드 저장 레지스터), m개의 워드 중 검색대상을 선택하는 m개의 후보군 설정수단; 비트연산 결과를 출력하는 공통버스;
    상기 후보군 워드 또는 상기 인자레지스터에서 선택적으로 1-비트씩 추출하여 상기 공통버스와 비트 연산하는 m개의 연산수단; 상기 추출한 내용이 필요조건에 만족하는지 여부를 판단하는 m개의 비교수단; 후보군 참여여부를 결정하는 m개의 후보군 선정수단을 구비하고,
    (1) m개의 메모리워드 중 검색대상을 선정하는 후보군 설정 단계;
    (2) 상기 후보군 메모리워드 내용 중 비트슬라이스 방식으로 1-비트씩 특정 비트를 추출하는 비트추출 단계;
    (3) 상기 추출한 내용을 미리 설정된 인자레지스터의 대응하는 위치에서 추출한 비트를 비교하는 비교 단계;
    (4) 상기 비교 결과가 필요조건을 만족하지 못한 특정 워드를 상기 후보군에서 제거하는 후보군 축소 단계; 및
    (5) 비트슬라이스 방식으로 추출 위치를 이동시키는 단계를 포함하여, 단계 (2) 부터 (5)를 마지막 비트에 도달될 때까지 반복 실행함으로써 상기 필요조건을 만족하지 못한 메모리워드를 후보군에서 차례로 제거함으로써 후보군을 축소하는 방법으로, n번(1-associative cycle) 이내에 특정값 추출, 검색, 연산하는 것을 특징으로 하는 가중치(weight) 임의 선정이 가능한 워드-병렬 비트-직렬(word-parallel bit-serial) 비트슬라이스 연관메모리(Bit-slice Associative Memory) 제어 방법.

KR1020170125484A 2017-09-27 2017-09-27 비트슬라이스 연관메모리 KR101985096B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170125484A KR101985096B1 (ko) 2017-09-27 2017-09-27 비트슬라이스 연관메모리

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170125484A KR101985096B1 (ko) 2017-09-27 2017-09-27 비트슬라이스 연관메모리

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020100083763A Division KR20120034148A (ko) 2010-08-26 2010-08-26 비트슬라이스 연관메모리

Publications (2)

Publication Number Publication Date
KR20170115988A KR20170115988A (ko) 2017-10-18
KR101985096B1 true KR101985096B1 (ko) 2019-08-27

Family

ID=60296532

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170125484A KR101985096B1 (ko) 2017-09-27 2017-09-27 비트슬라이스 연관메모리

Country Status (1)

Country Link
KR (1) KR101985096B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3196720B2 (ja) * 1998-03-20 2001-08-06 日本電気株式会社 連想メモリ制御回路及び制御方法
KR100513073B1 (ko) * 2002-01-02 2005-09-08 조진영 다기능 연관메모리

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3196720B2 (ja) * 1998-03-20 2001-08-06 日本電気株式会社 連想メモリ制御回路及び制御方法
KR100513073B1 (ko) * 2002-01-02 2005-09-08 조진영 다기능 연관메모리

Also Published As

Publication number Publication date
KR20170115988A (ko) 2017-10-18

Similar Documents

Publication Publication Date Title
Imani et al. Floatpim: In-memory acceleration of deep neural network training with high precision
US9424308B2 (en) Hierarchical in-memory sort engine
US11126549B2 (en) Processing in-memory architectures for performing logical operations
JP6109186B2 (ja) 状態機械格子におけるカウンタ動作
US9111615B1 (en) RAM-based ternary content addressable memory
WO2008110633A1 (en) A circuit for compressing data and a processor employing same
US10430210B2 (en) Systems and devices for accessing a state machine
US20220261257A1 (en) Systems and devices for accessing a state machine
Roohi et al. Processing-in-memory acceleration of convolutional neural networks for energy-effciency, and power-intermittency resilience
Liu et al. Sme: Reram-based sparse-multiplication-engine to squeeze-out bit sparsity of neural network
US20200401553A1 (en) Devices for time division multiplexing of state machine engine signals
He et al. Tare: task-adaptive in-situ reram computing for graph learning
US9570125B1 (en) Apparatuses and methods for shifting data during a masked write to a buffer
WO2015094721A2 (en) Apparatuses and methods for writing masked data to a buffer
US11829729B2 (en) Spatiotemporal fused-multiply-add, and related systems, methods and devices
WO2007119540A1 (ja) 連想メモリ
KR101985096B1 (ko) 비트슬라이스 연관메모리
RU84615U1 (ru) Ассоциативная запоминающая матрица
Melnyk Computer memory with parallel conflict-free sorting network-based ordered data access
KR20120034148A (ko) 비트슬라이스 연관메모리
Karunakar et al. Implementation of LFSR based Fast Error-Resilient Ternary Content-Addressable Memory
Smrithi et al. A fast architecture for maximum/minimum data finder with address from a set of data
KR100513073B1 (ko) 다기능 연관메모리
Kuzmin et al. Associative processors: application, operation, implementation problems
Melnyk Parallel conflict-free ordered access memory device

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right