KR100679324B1 - 다중 비교기 - Google Patents

다중 비교기 Download PDF

Info

Publication number
KR100679324B1
KR100679324B1 KR1020050088883A KR20050088883A KR100679324B1 KR 100679324 B1 KR100679324 B1 KR 100679324B1 KR 1020050088883 A KR1020050088883 A KR 1020050088883A KR 20050088883 A KR20050088883 A KR 20050088883A KR 100679324 B1 KR100679324 B1 KR 100679324B1
Authority
KR
South Korea
Prior art keywords
data
information
comparator
input
bit
Prior art date
Application number
KR1020050088883A
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 KR1020050088883A priority Critical patent/KR100679324B1/ko
Application granted granted Critical
Publication of KR100679324B1 publication Critical patent/KR100679324B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)

Abstract

본 발명은 다중 비교기에 관한 것이다. 본 발명의 바람직한 일 실시예에 따르면, 다수의 비교기를 구비하며, 복수의 입력 데이터들 중에서 두 입력 데이터들로의 조합에 따른 상기 두 입력 데이터들을 상기 비교기로 입력하여 상기 조합의 개수 만큼의 대소 정보를 생성하는 비교부; 두개 이상의 연산기를 구비하며, 상기 연산기를 이용하여 상기 대소 정보를 합산하여 상기 입력 데이터 각각에 대한 크기 순서 정보를 산출하는 비트 연산부; 및 다수의 멀티플렉서를 포함하며, 상기 크기 순서 정보에 따라 설정된 데이터의 경로를 선택하여 데이터를 출력하는 다중화부를 포함하는 다중 비교기가 제공된다. 따라서 본 발명에 의해, 임계 경로(critical path)를 줄여 성능을 향상시킬 수 있으며, 전체 비교기의 면적을 감소시킬 수 있다.
비교기, comparator

Description

다중 비교기{Multi-comparator}
도 1은 종래의 4개의 비교기를 이용하여 8개의 데이터에 대해 가장 큰 값과 두번째로 큰 값을 출력하는 비교기의 트리 구조를 나타낸 도면.
도 2는 본 발명의 바람직한 일 실시예에 따른 다중 비교기의 내부 구조를 나타낸 구성도.
도 3은 본 발명의 바람직한 일 실시예에 따른 비교부의 내부 구조를 예시한 구성도.
도 4는 본 발명의 바람직한 일 실시예에 따른 비트연산부의 내부 구조를 예시한 구성도.
도 5는 본 발명의 바람직한 일 실시예에 따른 다중화부의 내부 구조를 예시한 구성도.
<도면의 주요 부분에 대한 부호의 설명>
210 : 비교부
220 : 비트 연산부
230 : 다중화부
본 발명은 다중 비교기에 관한 것으로, 특히 임계 경로(critical path)를 줄여 비교기의 성능을 향상시킨 다중 비교기에 관한 것이다.
영상 압축, 통신 시스템 등 다양한 분야에서 다수의 데이터를 비교하여 결과를 출력하는 비교기가 널리 사용되고 있다. 즉, 비교기는 2개의 컴퓨터 프로그램 또는 데이터 집합의 대소를 구분하기 위해 사용된다.
도 1은 종래의 4개의 비교기를 이용하여 8개의 데이터에 대해 가장 큰 값과 두번째로 큰 값을 출력하는 비교기의 트리 구조를 나타낸 도면이다. 이해와 설명의 편의를 위해, 4개의 비교기를 제1 비교기(110), 제2 비교기(120), 제3 비교기(130), 제4 비교기(140)로 칭하기로 한다. 도 1을 참조하면, 제1 단계에서 제1 비교기(110)에 제1 데이터와 제2 데이터가 입력되고, 제2 비교기(120)에 제3 데이터와 제4 데이터가 입력되며, 제3 비교기(130)에 제5 데이터와 제6 데이터가 입력되고, 제4 비교기(140)에 제 7 데이터와 제8 데이터가 입력된다. 그리고, 제1 단계에서 제1 비교기(110), 제2 비교기(120), 제3 비교기(130), 제4 비교기(140)는 입력된 두개의 데이터를 비교하여 큰 데이터와 작은 데이터를(제1 단계에서 각각의 비교기에서 출력된 데이터를 p1_d1데이터, p1_d2데이터,…, p1_d8데이터로 칭함) 출력한다. 제2 단계에서 제1 비교기(110)에는 제1 단계에서 제1 비교기(110)에서 출 력된 큰 데이터(예를 들어, p1_d1데이터)와 제1 단계의 제2 비교기(120)에서 출력된 큰 데이터(예를 들어, p1_d3데이터)가 입력되며, 입력된 데이터들을 비교하여 결과를 출력한다. 제2 단계의 제2 비교기(120)에는 제1 단계의 제3 비교기(130)에서 출력된 데이터 중 큰 데이터(예를 들어, p1_d5데이터)와 제1 단계의 제4 비교기(140)에서 출력된 데이터 중 큰 데이터(예를 들어, p1_d7데이터)가 입력되며, 입력된 데이터들을 비교하여 결과를 출력한다. 여기서, 제2 단계에서 각각의 비교기(300)에서 출력되는 데이터들은 p2_d1데이터, p2_d2데이터, …, p2_d8데이터로 칭한다. 제3 단계에서 제1 비교기(110)에는 제2 단계의 제1 비교기(110)에서 출력된 데이터 중 큰 데이터(예를 들어, p2_d1데이터)와 제2 단계의 제2 비교기(120)에서 출력된 데이터 중 큰 데이터(예를 들어, p2_d3데이터)가 입력되며, 제3 단계에서 제1 비교기(110)는 입력된 데이터를 비교하여 결과를 출력한다. 이와 같은 방법으로 도 1에 보여지는 바와 같이, 8개의 데이터 중 가장 큰 데이터를 찾기 위해서는 3단계를 거쳐야 하며, 두번째 큰 데이터를 출력하기 위해서는 5단계를 거쳐야 한다.
도 1과 같은 종래의 다중 비교기는 비교 되는 데이터의 개수가 증가할수록 많은 비교기가 사용되어지며, 결과적으로 비교기 내부의 단계 증가로 인하여 임계 경로(critical path)가 증가하게 되는 문제점이 발생한다. 이는 결과적으로 다중 비교기의 임계 경로(critical path) 증가로 인해 시스템의 전체적인 성능이 저하되는 문제점이 발생한다.
따라서, 상술한 문제점을 해결하기 위한 본 발명의 목적은 임계 경로(critical path)가 적으며 성능이 향상된 소형의(즉, 적은 면적의) 다중 비교기를 제공하는 것이다.
본 발명의 다른 목적은 출력되는 데이터의 증가에 대해 증가하는 비교기의 개수 및 비교기의 비교 횟수가 현저하게 적은 다중 비교기를 제공하는 것이다.
본 발명의 또 다른 목적은 시스템의 자원(resource)을 적게 사용하면서 성능은 향상된 다중 비교기를 제공하는 것이다.
이외의 본 발명의 목적들은 하기의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 일 측면에 따르면, 입력 데이터의 경우의 수만큼의 비교기를 구비하며, 출력되는 데이터의 수만큼의 멀티플렉서를 구비하며 임계 경로(critical path)가 적은 다중 비교기를 제공하는 것이다.
본 발명의 바람직한 일 실시예에 따르면, 다수의 비교기를 구비하며, 복수의 입력 데이터들 중에서 두 입력 데이터들로의 조합에 따른 상기 두 입력 데이터들을 상기 비교기로 입력하여 상기 조합의 개수 만큼의 대소 정보를 생성하는 비교부; 두개 이상의 연산기를 구비하며, 상기 연산기를 이용하여 상기 대소 정보를 합산하여 상기 입력 데이터 각각에 대한 크기 순서 정보를 산출하는 비트 연산부; 및 다수의 멀티플렉서를 포함하며, 상기 크기 순서 정보에 따라 설정된 데이터의 경로를 선택하여 데이터를 출력하는 다중화부를 포함하는 다중 비교기를 제공하는 것이다.
상기 비트 연산부는 상기 비교부에 입력되는 데이터의 개수만큼의 연산기를 포함하며, 각각의 연산기는 각각의 입력 데이터의 크기 순서 정보를 산출하여 출력할 수 있다.
상기 다중화부는 출력되는 데이터의 개수만큼의 상기 멀티플렉서를 포함하여 한꺼번에 다수의 데이터를 출력할 수 있다.
상기 비트 연산부는 상기 대소 정보에 상응하여 설정되는 다수의 비트정보부를 더 포함할 수 있다.
상기 대소 정보는 상기 비교기에 입력되는 데이터의 대소를 나타내는 어너리(unary) 또는 바이너리(binary) 데이터이며, 상기 크기 순서 정보는 상기 비교부에 입력되는 각각의 데이터의 크기의 순서를 나타내는 바이너리 데이터일 수 있다.
상기 비교부는 상기 조합의 개수 만큼의 비교기를 구비하며, 상기 비교기는 두개의 데이터를 입력받아 비교하여 비교 정보를 생성하여 출력하는 비교 연산부; 및 상기 비교 정보에 따라 상기 경로를 설정하여 정해진 대소 정보를 출력하는 하나의 멀티플렉서를 포함할 수 있다.
상기 비교 정보는 상기 입력된 데이터의 대소를 나타내는 어너리(unary) 또는 바이너리 데이터일 수 있다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면들을 참조하여 상세히 설명 하기로 한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 다중 비교기의 내부 블록도이며, 도 3은 본 발명의 바람직한 일 실시예에 따른 비교부의 내부 구성을 예시한 도면이고, 도 4는 본 발명의 바람직한 일 실시예에 따른 비트 연산부의 내부 구성을 예시한 도면이며, 도 5는 본 발명의 바람직한 일 실시예에 따른 다중화부의 내부 구성을 예시한 도면이다. 이하에서는, 본 발명에 따른 다중 비교기(200)가 4개의 데이터를 입력받아 크기가 큰 두개의 데이터를 출력하는 것을 중점으로 설명하도록 한다. 또한, 본 발명에 따른 다중 비교기(200)는 출력하고자 하는 데이터의 수에 상응하여 다중 비교기(200)의 다중화부(230)에 다수의 멀티플렉서를 구비할 수 있으며, 본 명세서에서는 두개의 데이터를 출력하기 동시에 출력하기 위해 2개의 멀티플렉서를 구비한 것으로 가정하여 설명하기로 한다. 즉, 본 발명에 따른 다중 비교기(200)는 입력되는 데이터의 개수에 상응하여 다수의 비교기를 포함할 수 있으며, 동시에 출력하고자 하는 데이터의 개수에 상응하여 다수의 멀티플렉서를 포함할 수도 있다.
또한, 본 명세서에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 동일 또는 유사한 개체를 구별하기 위한 것일 뿐 이에 의해 권리범위나 그 대상이 제한되는 것은 아니다.
도 2에 보여지는 바와 같이, 본 발명에 따른 다중 비교기(200)는 비교부(210), 비트 연산부(220), 다중화부(230)로 구성된다.
비교부(210)는 다수의 비교기를 구비하여, 비교하고자 하는 데이터들을 입력받아 데이터를 비교하여 대소 정보를 생성하여 비트 연산부(220)로 전달한다. 본 명세서에서는 4개의 입력 데이터에서 크기가 큰 두개의 데이터를 출력하는 것을 중점으로 설명하고 있으므로, 본 명세서와 도면에서는 비교부(210)에서 6개의 비교기를 구비한 것을 가정하여 설명하고 있으나, 입력 데이터의 수에 따라 비교부(210)에 추가되는 비교기의 수는 상이할 수도 있다.
이해와 설명의 편의를 위해, 도 3을 참조하여, 비교부(210)에 구비된 비교기(300)의 동작 과정을 설명하기로 한다.
도 3에 보여지는 바와 같이, 비교기(300)는 두개의 데이터를 입력받아 데이터를 비교하는 비교 연산부(310)와 대소 정보 생성부(320)로 구성된다.
비교 연산부(310)는 두개의 데이터를 입력받아 비교하여 비교 정보를 대소 정보 생성부(320)에 전달한다. 여기서, 비교 연산부(310)에 입력되는 첫번째 데이터를 제1 데이터로 정의한다. 또한, 비교 연산부(310)에 입력되는 두번째 데이터를 제2 데이터로 정의한다.
예를 들어, 비교 연산부(310)에 제1 데이터와 제2 데이터가 입력되면, 비교 연산부(310)는 제1 데이터와 제2 데이터를 비교하여 비교 정보를 생성하여 대소 정보 생성부(320)로 전달한다. 여기서, 비교 정보는 제1 데이터 또는 제2 데이터의 대소 정보를 나타내며, 제1 데이터의 대소 또는 제2 데이터의 대소 정보만을 포함할 수도 있다.
대소 정보 생성부(320)는 비교 연산부(310)로부터 입력된 비교 정보에 상응 하여 대소 정보를 생성하여 비트 연산부(220)로 전달한다.
예를 들어, 대소 정보 생성부(320)는 도 3에 보여지는 바와 같이, 비교 정보에 따라 미리 설정된 크기 데이터의 경로를 설정하여 해당 크기 데이터를 비트 연산부(220)로 전달할 수 있다.
만일, 비교 연산부(310)에서 입력된 비교 정보가 제1 데이터가 제2 데이터보다 크다는 정보를 포함하고 있다면, 대소 정보 생성부(320)는 제1 크기 데이터의 경로를 설정하여 제1 크기 데이터를 비트 연산부(220)로 전달할 수 있다.
여기서, 크기 데이터는 비교 정보에 상응하여 입력된 두 데이터(예를 들어, 제1 데이터, 제2 데이터)의 대소 정보로서, 바이너리 데이터일 수 있다. 예를 들어, 제1 데이터가 제2 데이터보다 큰 경우, 크기 데이터는 예를 들어, '1, 0'의 비트 스트림에 상응하는 바이너리 데이터 일 수 있으며, 제1 데이터가 제2 데이터보다 작은 경우, 예를 들어, '0, 1'의 비트 스트림에 상응하는 바이너리 데이터일 수도 있다.
또한, 크기 데이터는 제1 데이터가 제2 데이터보다 큰 경우, 예를 들어, '1'에 상응하는 바이너리 데이터 일수도 있으며, 제1 데이터가 제2 데이터보다 작은 경우, 예를 들어, '0'에 상응하는 바이너리 데이터 일수도 있다.
즉, 크기 데이터(이하에서는 "대소 정보"라 칭함)는 제1 데이터 또는 제2 데이터의 대소를 나타내는 바이너리 형식의 데이터일 수 있다.
이와 같이, 각각의 비교기(300)는 두개의 입력 데이터를 입력받아, 대소 정보를 비트 연산부(220)로 출력한다.
다시 도 2를 참조하여, 비교부(210)는 다수의 비교기를 구비하여 입력된 데이터를 비교하여 하나 이상의 대소 정보를 생성하여 비트 연산부(220)로 출력한다.
예를 들어, 비교할 데이터가 4개라면, 도 2에 보여지는 바와 같이, 비교부(210)는 6개의 비교기(300)를 포함할 수 있다. 각각의 비교기(300)는 두개의 데이터를 비교하므로, 4개의 입력 데이터를 비교하여 각각의 데이터의 대소를 비교하기 위해서는 6가지 경우를 비교하면, 4개의 입력 데이터를 모두 비교할 수 있으므로, 6개의 비교기(300)를 구비하여 각각의 입력 데이터들을 비교하여 대소 정보를 생성하여 비트 연산부(220)로 출력할 수 있다. 물론, 입력되는 데이터의 수가 달라지는 경우, 비교부(210)에 포함되는 비교기의 수는 입력되는 데이터에 상응하여 상이해질 수 있음은 당연하다.
비트 연산부(220)는 비교부(210)로부터 하나 이상의 대소 정보를 입력받아 크기 순서 정보를 생성하여 다중화부(230)로 전달한다.
도 4를 참조하면, 비트 연산부(220)는 비교부(210)로부터 입력되는 대소 정보에 상응하여 갱신되는 비트정보부(410)와 대소 정보의 합을 산출하는 연산기(420)를 포함하여 구성된다.
비트정보부(410)는 비교부(210)로부터 입력되는 대소 정보에 상응하는 비트 정보를 연산기(420)로 전달하는 기능을 수행한다. 예를 들어, 비트정보부(410)는 바이너리 형식으로 입력되는 대소 정보에 상응하여 설정될 수 있다. 예를 들어, 비교부(210)로부터 입력된 대소 정보가 예를 들어, '1, 0'의 바이너리 형식이라고 가정하자. 그러면, 제1 비트정보부(410a)는 비교부(210)로부터 입력된 '1'에 상응하 여 설정될 수 있으며, 제2 비트정보부(410b)는 '0'에 상응하도록 설정될 수 있다.
또 다른 예로, 만일, 비교부(210)로부터 입력된 대소 정보가 제1 비교기(211)에 입력된 제1 입력 데이터와 제2 입력 데이터 중 제1 입력 데이터가 제2 입력 데이터보다 크다는 대소 정보(예를 들어, '1')라고 가정하자. 그러면, 제1 비트정보부(410a)는 제1 비교기(211)로부터 입력된 대소 정보에 상응하여 설정되고, 제2 비트정보부(410b)는 제1 비트정보부(410a)의 반대로 설정되도록 구현 할 수도 있다. 즉, 제1 비트정보부(410a)와 제2 비트정보부(410b)가 각기 상반되는 대소 정보에 대한 비트 정보를 포함하도록 설정할 수도 있다.
연산기(420)는 각각의 비트정보부(410a, 410b, …, 410i)로부터 입력되는 비트 데이터를 합산하여 크기 순서 정보를 산출하여 다중화부(230)로 전달한다.
연산기(420)는 비교부(210)에 입력되는 데이터들의 선택 정보를 산출하는 것으로, 예를 들어, 제1 연산기(422)가 제1 데이터(즉, 비교부(210)에 입력되는 첫번째 데이터)의 크기 순서 정보를 산출하는 연산기라고 정의하자. 이때, 제1 비트정보부(410a), 제3 비트정보부(410c), 제5 비트정보부(410e)가 제1 데이터와 나머지 데이터들을 비교하여 출력된 제1 데이터에 대한 대소 정보라고 가정하면, 제1 연산기(422)는 제1 비트정보부(410a), 제3 비트정보부(410c), 제5 비트정보부(410e)로부터 데이터(즉, 비트 데이터)를 입력받아 제1 데이터에 상응하는 크기 순서 정보를 산출하여 다중화부(230)에 전달할 수 있다.
다른 예로, 제1 연산기(422)는 제1 비트정보부(410a), 제3 비트정보부(410c), 제5 비트정보부(410e)로부터 데이터를 독출하여 제1 데이터에 상응하는 크 기 순서 정보를 산출하여 다중화부(230)로 전달할 수도 있다.
그리고, 제2 데이터(비교부(210)에 입력되는 두번째 데이터)의 크기 순서 정보를 산출하는 연산기를 제2 연산기(424)라 가정하고, 제2 비트정보부(410b), 제7 비트정보부(410g), 제9 비트정보부(410i)가 제2 데이터와 다른 입력 데이터들을 비교하여 출력된 제2 데이터에 대한 대소 정보라고 가정하자. 제2 연산기(424)는 제2 데이터에 대한 크기 순서 정보를 산출하기 위해 제2 비트정보부(410b), 제7 비트정보부(410g), 제9 비트정보부(410i)로부터 데이터(예를 들어, '1' 또는 '0'의 비트 데이터)를 입력받아 합산하여 제2 데이터에 상응하는 크기 순서 정보를 산출할 수 있다.
여기서, 크기 순서 정보는 각각의 연산기(420)에 의해 각기 비트정보부(410a, 410b, …, 410i)의 값을 합산한 값으로 예를 들어, 바이너리 형식의 비트 데이터일 수 있다.
도 4에서 보여지는 바와 같이, 각각의 연산기(422, 424, 426, 428)는 각각의 입력 데이터의 크기 순서 정보를 산출하기 위해, 각기 비트정보부(410a, 410b, …, 410i)로부터 데이터를 입력받거나 또는 각기 비트정보부(410a, 410b, …, 410i)로부터 데이터를 독출하여 크기 순서 정보를 산출하여 다중화부(230)로 전달할 수 있다.
다시 도 2를 참조하면, 다중화부(230)는 비트 연산부(220)로부터 입력된 크기 순서 정보에 상응하여 해당 데이터를 선택적으로 출력하기 위한 스위치이다.
도 5를 참조하면, 다중화부(230)는 하나 이상의 멀티플렉서(MUX)를 포함할 수 있다. 본 명세서에서는 4개의 입력데이터에 상응하여 두개의 데이터를 출력하는 것을 중점으로 설명하고 있으므로, 다중화부(230)에서 두개의 멀티플렉서(제1 멀티플렉서(510), 제2 멀티플렉서(520))를 포함하는 것을 가정하여 설명하나, 비교부(210)에 입력되는 입력데이터의 수에 상응하는 출력 데이터의 수에 상응하여 다중화부(230)에 포함되는 멀티플렉서의 수는 상이할 수 있다.
만일, 다중 비교기(200)에 입력되는 데이터가 4개이고, 이들 데이터를 크기 순서(예를 들어, 내림 차순, 오름 차순)로 소팅(sorting)하여 별도의 단계를 통하지 않고, 4개의 데이터를 한꺼번에 출력하고자 하는 경우, 다중화부(230)는 4개의 멀티플렉서를 구비할 수 있다.
여기서, 멀티플렉서(510, 520)는 비트 연산부(220)로부터 입력된 크기 순서 정보에 상응하는 경로를 설정하여 다중 비교기(200)에 입력되는 데이터 중 하나의 데이터를 선택적으로 출력할 수 있다.
도 5에 보여지는 바와 같이, 비트 연산부(220)를 통해 입력된 크기 순서 정보는 제1 멀티플렉서(510), 제2 멀티플렉서(520)로 각각 입력된다. 또한, 제1 멀티플렉서(510), 제2 멀티플렉서(520)는 다중 비교기(200)에 입력되는 4개의 데이터가 각각 입력된다. 이때, 각각의 멀티플렉서(510)는 각각 미리 설정된 데이터의 경로를 선택하여 해당 데이터를 출력하도록 할 수 있다.
예를 들어, 제1 멀티플렉서(510)가 비교부(210)에 입력된 4개의 입력 데이터 중 가장 큰 데이터를 출력하도록 설정되어 있고, 제2 멀티플렉서(520)가 4개의 데이터 중 두번째로 큰 데이터를 출력하도록 설정되어 있다고 가정하자. 제1 멀티플 렉서(510)와 제2 멀티플렉서(520)는 각각 비트 연산부(220)로부터 크기 순서 정보를 입력받아, 해당 크기 순서 정보에 상응하는 데이터로의 경로를 설정하여 해당 데이터를 출력할 수 있다. 제1 멀티플렉서(510)에 입력된 크기 순서 정보들 중 예를 들어, 제1 데이터에 상응하는 제1 크기 순서 정보(예를 들어, 비트 연산부(220)의 제1 연산기(422)로부터 출력된 크기 순서 정보)가 '3'이며, 제2 데이터에 상응하는 제2 데이터 선택정보(예를 들어, 비트 연산부(220)의 제2 연산기(424)로부터 출력된 크기 순서 정보)가 '1'이고, 제2 데이터에 상응하는 제3 크기 순서 정보(예를 들어, 비트 연산부(220)의 제3 연산기(426)로부터 출력된 크기 순서 정보)가 '2'이며, 제4 데이터에 상응하는 제4 크기 순서 정보(예를 들어, 비트 연산부(220)의 제4 연산기(428)로부터 출력된 크기 순서 정보)가 '0'라고 가정하자. 그러면, 제1 멀티플렉서(510)는 4개의 입력 데이터 중 가장 큰 데이터를 출력하도록 경로를 선택하도록 설정되었으므로, 제1 멀티플렉서(510)는 제1 데이터를 출력하도록 내부 경로를 설정하여 제1 데이터를 출력할 수 있다. 예를 들어, 제1 멀티플렉서(510)는 내부적으로 '3'으로 미리 설정되어 있다면, 입력된 4개의 크기 순서 정보 중 '3'과 일치하는 데이터로의 경로를 선택하도록 설정할 수 있다.
이와 같이, 다중화부(230)는 출력하고자 하는 데이터의 개수에 상응하여 다수의 멀티플렉서를 구비함으로써, 별도의 추가적인 단계 없이, 동일한 단계에서 출력하고자 하는 데이터를 함께 출력할 수 있다.
상술한 바와 같이, 본 발명에 따른 다중 비교기(200)를 통해 소팅(sorting) 회로 구성시 시스템의 자원(resource)을 적게 사용하고, 종래의 다중 비교기에 비 해 적은 임계 경로(critical path)를 갖도록 하여, 시스템의 전체적인 성능을 향상시킬 수 있다.
상술한 바와 같이, 본 발명에 따른 임계 경로(critical path)가 적으며, 소형(즉, 적은 면적의) 다중 비교기를 제공함으로써, 성능을 향상시킬 수 있는 효과가 있다.
본 발명은 출력되는 데이터의 증가에 대해 증가하는 비교기의 개수 및 비교기의 비교 횟수가 현저하게 적으며, 시스템의 자원(resource)을 적게 사용하면서 성능은 향상시킬 수 있는 효과가 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (7)

  1. 다수의 비교기를 구비하며, 복수의 입력 데이터들 중에서 두 입력 데이터들로의 조합에 따른 상기 두 입력 데이터들을 상기 비교기로 입력하여 상기 조합의 개수 만큼의 대소 정보를 생성하는 비교부;
    두개 이상의 연산기를 구비하며, 상기 연산기를 이용하여 상기 대소 정보를 합산하여 상기 입력 데이터 각각에 대한 크기 순서 정보를 산출하는 비트 연산부; 및
    다수의 멀티플렉서를 포함하며, 상기 크기 순서 정보에 따라 설정된 데이터의 경로를 선택하여 데이터를 출력하는 다중화부를 포함하는 다중 비교기.
  2. 제 1항에 있어서,
    상기 비트 연산부는 상기 비교부에 입력되는 데이터의 개수만큼의 연산기를 포함하며, 각각의 연산기는 각각의 입력 데이터의 크기 순서 정보를 산출하여 출력하는 다중 비교기.
  3. 제 1항에 있어서,
    상기 다중화부는 출력되는 데이터의 개수만큼의 상기 멀티플렉서를 포함하여 한꺼번에 다수의 데이터를 출력하는 다중 비교기.
  4. 제 1항에 있어서,
    상기 비트 연산부는 상기 대소 정보에 상응하여 설정되는 다수의 비트정보부를 더 포함하는 다중 비교기.
  5. 제 1항에 있어서,
    상기 대소 정보는 상기 비교기에 입력되는 데이터의 대소를 나타내는 어너리(unary) 또는 바이너리(binary) 데이터이며,
    상기 크기 순서 정보는 상기 비교부에 입력되는 각각의 데이터의 크기의 순서를 나타내는 바이너리 데이터인 다중 비교기.
  6. 제 1항에 있어서,
    상기 비교부는 상기 조합의 개수 만큼의 비교기를 구비하며,
    상기 비교기는 두개의 데이터를 입력받아 비교하여 비교 정보를 생성하여 출력하는 비교 연산부; 및
    상기 비교 정보에 따라 상기 경로를 설정하여 정해진 대소 정보를 출력하는 하나의 멀티플렉서를 포함하는 다중 비교기.
  7. 제 6항에 있어서,
    상기 비교 정보는 상기 입력된 데이터의 대소를 나타내는 어너리(unary) 또는 바이너리 데이터인 다중 비교기.
KR1020050088883A 2005-09-23 2005-09-23 다중 비교기 KR100679324B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050088883A KR100679324B1 (ko) 2005-09-23 2005-09-23 다중 비교기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050088883A KR100679324B1 (ko) 2005-09-23 2005-09-23 다중 비교기

Publications (1)

Publication Number Publication Date
KR100679324B1 true KR100679324B1 (ko) 2007-02-05

Family

ID=38105526

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050088883A KR100679324B1 (ko) 2005-09-23 2005-09-23 다중 비교기

Country Status (1)

Country Link
KR (1) KR100679324B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101081327B1 (ko) * 2009-04-28 2011-11-09 한국과학기술원 이진 숫자 비교기
KR101846417B1 (ko) 2016-10-04 2018-04-06 광운대학교 산학협력단 다중 입력을 위한 비교 방법 및 디지털 비교기
US20220245039A1 (en) * 2021-02-01 2022-08-04 Panasonic Intellectual Property Management Co., Ltd. Diagnosis circuit, electronic device, and diagnosis method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101081327B1 (ko) * 2009-04-28 2011-11-09 한국과학기술원 이진 숫자 비교기
KR101846417B1 (ko) 2016-10-04 2018-04-06 광운대학교 산학협력단 다중 입력을 위한 비교 방법 및 디지털 비교기
US20220245039A1 (en) * 2021-02-01 2022-08-04 Panasonic Intellectual Property Management Co., Ltd. Diagnosis circuit, electronic device, and diagnosis method
US11645177B2 (en) * 2021-02-01 2023-05-09 Panasonic Intellectual Property Management Co., Ltd. Diagnosis circuit for making a diagnosis of a multiplexer

Similar Documents

Publication Publication Date Title
CN115934030B (zh) 算数逻辑单元、浮点数乘法计算的方法及设备
US20210349692A1 (en) Multiplier and multiplication method
US4573137A (en) Adder circuit
Zhang et al. A low-error energy-efficient fixed-width booth multiplier with sign-digit-based conditional probability estimation
KR20010014992A (ko) 고차 기수 제산기 및 그 방법
JP2002251281A (ja) 浮動小数点乗算器
CN112506880B (zh) 数据处理方法及相关设备
CN116661734B (zh) 支持多输入多格式的低精度乘加运算器
US9317478B2 (en) Dual-path fused floating-point add-subtract
US20170017467A1 (en) Integer/floating point divider and square root logic unit and associates methods
KR100679324B1 (ko) 다중 비교기
Kumar et al. New algorithm for signed integer comparison in $\{2^{n+ k}, 2^{n}-1, 2^{n}+ 1, 2^{n\pm 1}-1\} $ and its efficient hardware implementation
CN117111881A (zh) 支持多输入多格式的混合精度乘加运算器
JPH05134851A (ja) 乗算回路出力方式
US20060143260A1 (en) Low-power booth array multiplier with bypass circuits
Haritha et al. Design of an enhanced array based approximate arithmetic computing model for multipliers and squarers
US7924179B2 (en) Variable-length code determining device and variable-length code decoding method
US7840628B2 (en) Combining circuitry
US7024445B2 (en) Method and apparatus for use in booth-encoded multiplication
CN113157247B (zh) 一种可重构整型-浮点型乘法器
KR20010014902A (ko) 3입력 분할 가산기
KR100663679B1 (ko) 고속 가산기
Ayhan et al. A power efficient system design methodology employing approximate arithmetic units
CN117971160B (zh) 一种包括错误预测的乘法器
US20220188673A1 (en) Mixed-precision ai processor and operating method thereof

Legal Events

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

Payment date: 20130111

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171221

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 13