KR100254913B1 - 이진차에 대한 제로 검출 - Google Patents

이진차에 대한 제로 검출 Download PDF

Info

Publication number
KR100254913B1
KR100254913B1 KR1019970012515A KR19970012515A KR100254913B1 KR 100254913 B1 KR100254913 B1 KR 100254913B1 KR 1019970012515 A KR1019970012515 A KR 1019970012515A KR 19970012515 A KR19970012515 A KR 19970012515A KR 100254913 B1 KR100254913 B1 KR 100254913B1
Authority
KR
South Korea
Prior art keywords
bit
carry
binary
sum
carry output
Prior art date
Application number
KR1019970012515A
Other languages
English (en)
Other versions
KR19980018063A (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 윤종용
Publication of KR19980018063A publication Critical patent/KR19980018063A/ko
Application granted granted Critical
Publication of KR100254913B1 publication Critical patent/KR100254913B1/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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • 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
    • 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

이진 오퍼랜드들의 차에 대한 제로 검출이 개시된다. 차가 '0'이면 차의 비트 보수는 일련의 '1'들이므로, 일련의 '1'들을 증가시키면 '1'의 캐리 출력 비트가 발생된다. 마찬가지로, 차가 '0'이 아니면, 차의 비트 보수는 1개 이상의 '0'들을 포함할 것이므로 비트 반전된 차를 증가시키면 '0'의 캐리 출력 비트가 발생할 것이다. 오퍼랜드들은 피감수 및 M개의 감수들을 포함한다. 일 실시예는 차의 비트 보수를 나타내는 결과를 제공하고, 그 결과를 증가시켜 발생되는 캐리 출력 비트를 검사하는 것을 포함한다. 다른 실시예는 피감수를 비트 반전하고, 비트 반전된 피감수 및 M개의 감수들의 합으로부터 제 1 캐리 출력 비트를 발생하고, 비트 반전된 피감수 및 M개의 감수들과 상수 '1'의 합으로부터 제 2 캐리 출력 비트를 발생하고 및 제 1 캐리 출력 비트와 제 2 캐리 출력 비트가 다른 논리값들을 갖을 때 제로 검출 플래그를 참으로 설정하는 것을 포함한다. 제 1 및 제 2 캐리 출력 비트들이 캐리 체인들과 결합된 전파 발생부들을 사용하여 동시에 발생될 수 있으므로 빠른 제로 검출이 제공되는 잇점이 있다. 본 발명은 A 및 B가 n비트 이진 오퍼랜드들이고, C가 캐리 입력 비트라고 할 때, 차 A-B-C의 제로 검출 뿐만 아니라, A 및 B가 n비트 이진 오퍼랜드들이라고 할 때, 차 A-B의 제로 검출을 하는데 아주 적합하다.

Description

이진 차에 대한 제로 검출
본 발명은 제로 검출에 관한 것으로서, 특히 2진 오퍼랜드들의 차가 0(또는 제로)인가를 검출하는 이진 차에 대한 제로 검출에 관한 것이다.
범용 컴퓨터들에서, 종종 조건부 분기들을 사용하여 프로그램 제어를 구현한다. 일반적으로, 계산을 계속하기 위한 두개의 경로들중 하나가 선택되야 하는 어느 프로그래밍 상황에서 조건부 분기들을 사용한다. 대개 분기 결정은 최근에 수행된 동작 결과의 산술성 또는 논리성 또는 조건에 근거한다. 예를 들어, 분기 결정은 하나의 오퍼랜드가 0, 양 혹은 음인가 아닌가에 근거할 것이다. 또한, 분기 결정은 제 1 오퍼랜드가 제 2 오퍼랜드보다 큰가, 이상인가, 같은가, 이하인가 혹은 적은가에 근거할 것이다. 이러한 조건들은 조건 코드 레지스터내에 있는 조건 코드 비트들 또는 플래그들을 검사하여 대개 평가된다. 컴퓨터 시스템들은 종종 4가지의 조건 코드 플래그들 즉, N(음수), C(캐리), V(오버 플로우) 및 Z(제로)를 갖는다. 결과가 음수이면, 음의 플래그가 1로 설정되고, 그렇지 않으면 0으로 설정된다. 캐리 플래그는 동작뒤의 캐리 출력 결과들이 있으면 1로 설정되고, 그렇지 않으면 0으로 설정된다. 오버 플로우 플래그는 산술 오버 플로우가 발생하면 1로 설정되고, 그렇지 않으면 0으로 설정된다. 마지막으로, 제로 검출 플래그는 결과가 제로(또는 0)이면 1로 설정되고, 그렇지 않으면 0으로 설정된다.
오퍼랜드들의 차에 근거한 제로 검출 플래그(또는 제로 플래그)는 오퍼랜드들이 같은가 아닌가를 나타낸다. 오퍼랜드들이 같으면, 오퍼랜드들간의 차는 0이고, 제로 검출 플래그는 참으로 설정된다. 마찬가지로, 오퍼랜드들이 다르면, 오퍼랜드들간의 차는 0이 아니고, 제로 검출 플래그는 거짓으로 설정된다. 이런 식으로, 이진 차에 대한 제로 검출은 분기 결정에 대한 조건 코드 플래그 Z(zero)를 제공할 수 있다.
이진 오퍼랜드들의 차 (A-B)를 피감수 A로부터 감수 B를 감산하여 구한다. 2의 보수 표현에서, 감수의 비트 보수에 1을 가산하여 감수 부호를 변화시킬 수 있다. 피감수 및 비트 반전된 감수를 가산기에 인가하고, 가산기의 최하위 비트 위치에 대해 캐리 입력 비트를 1로 설정하는 강력한 캐리 기술을 사용하여 이진 차를 제공할 수 있다. 이러한 식으로, A 및 B의 보수를 합-플러스-1 가산기에 인가하여 차 A-B를 구한다.
제로 검출은 일련의 비트들에 있는 모든 비트들이 0인가를 결정한다. 즉, 일련의 비트들이 1(또는 몇개의 1들)을 포함하면 제로 검출 플래그는 '거짓'으로 설정되는 반면, 일련의 비트들이 모두 0들이면 제로 검출 플래그는 '참'으로 설정된다.
도 1 은 두개의 이진 오퍼랜드들 A 및 B의 차에 대한 제로 검출을 수행하는 알려진 회로 100을 나타낸다. 그 출력에 비트 반전된 오퍼랜 B()을 제공하는 인버터 회로 102에 오퍼랜드 B를 인가한다. PG 발생기 104, 1로 설정된 캐리 입력 비트를 갖는 캐리 체인 106 및 합 생성기 106을 포함하는 앞보기 캐리 가산기로서 도시된 합-플러스-1 가산기에 오퍼랜드들 A 및 를 인가한다. 다른 가산기들이 사용될 수 있다 할지라도, 앞보기 캐리 가산기는 예를 들면 캐리 리플 가산기 보다 빠르게 합을 제공한다. 합 생성기 108의 제 n-1, 제 n-2, ..., 제 1, 제 0 스테이지들은 A와 B의 차 A-B를 나타내는 오퍼랜드 A 및 와 1의 n비트 합을 제공한다. n개 입력 OR게이트 110 및 인버터 112는 제로 검출 논리를 제공한다. OR 게이트 110는 합 생성기 108의 각 출력 스테이지에 결합된 입력들을 갖는다. OR 게이트 110는 출력 스테이지들에 일련의 비트들이 0들로 구성될 때 논리 0을 출력하고, 출력 스테이지들에 일련의 비트들이 임의의 1을 포함할 때 논리 1을 출력한다. 인버터 112는 OR 게이트 110의 출력을 반전시킨다. 그러므로, 인버터 112의 출력은 오퍼랜드들 A 및 B의 차에 대한 제로 검출 플래그를 제공한다. 이러한 접근법은 OR 게이트 110의 팬인이 증가하고, A와 B의 차를 계산하고 차의 각 비트를 논리합하는데 지연이 따른다는 결점들이 있다.
이진 차의 제로 검출에 대한 다른 알려진 기술에서는 차를 계산하고, 그 차를 오른쪽으로 직렬로 쉬프팅하고, 쉬프트되어 출력된 비트들을 한번에 하나씩 검사한다. 쉬프트되어 출력된 비트가 1로 검출되자 마자 곧 제로 검출 플래그는 '거짓'으로 설정된다. 대신에, 쉬프트되어 출력된 모든 비트들이 0이면, 제로 검출 플래그는 '참'으로 설정된다. 이러한 접근법은 오른쪽으로 쉬프팅하는 동작에 시간이 상당히 소모될 수 있고, 특히 단일 명령 사이클에서 구현하기가 어려운 결점을 갖고 있다.
따라서, 빠르고 효율적인 방법으로 이진 수들의 차에 대한 제로 검출을 수행할 필요가 있다.
본 발명이 이루고자 하는 기술적 과제는, 이진 오퍼랜드들의 차에 대한 빠르고 효율적인 제로 검출을 제공하는데 있다. 본 발명의 바람직한 특징에 의한 이진 차에 대한 제로 검출은 사실상 차를 계산할 필요없이 단일 명령 사이클에서 범용 컴퓨터로 제공될 수 있다.
도 1 은 이진 차에 대한 알려진 제로 검출 회로의 블럭도이다.
도 2 내지 도 12 는 본 발명의 실시예들에 의한 이진 차의 제로 검출을 수행하기 위해 사용되는 알고리즘들의 플로우차트.
도 13 은 본 발명의 실시예에 의한 단일 캐리 출력 비트를 검사하여 두개의 오퍼랜드들의 이진 차에 대한 제로 검출을 수행하기 위한 논리 회로의 블럭도.
도 14 는 본 발명의 실시예에 의한 단일 캐리 출력 비트를 검사하여 두개의 오퍼랜드들의 이진 차에 대한 제로 검출을 수행하기 위한 논리 회로의 블럭도.
도 15 는 본 발명의 실시예에 의한 제 1 및 제 2 캐리 출력 비트들을 검사하여 두개의 오퍼랜드들의 이진 차에 대한 제로 검출을 수행하기 위한 논리 회로의 블럭도.
도 16 은 도 15 에 도시된 논리 회로에 사용하기 적합한 캐리 회로들의 블럭도들.
도 17 은 본 발명의 실시예에 의한 제 1 및 제 2 캐리 출력 비트들을 검사하여 세개의 오퍼랜드들(하나의 피감수 및 두개의 감수들)의 이진 차에 대한 제로 검출을 수행하기 위한 논리 회로의 블럭도.
도 18 은 도 17 에 도시된 논리 회로에 사용하기 적합한 캐리 회로의 블럭도.
도 19 는 도 17 에 도시된 논리 회로에 사용하기 적합한 결합 캐리 회로, 검사 회로 및 인버터의 블럭도.
상기 과제를 이루기 위한 본 발명에 의한 이진 차에 대한 제로 검출은 하나의 피감수 및 다수개의 감수들의 이진 차 뿐만 아니라 피감수 및 하나의 감수의 이진 차에 대한 제로 검출을 제공한다. 즉, 오퍼랜드들은 피감수 및 M개의 감수들(여기서, M은 적어도 1인 정수)을 포함할 것이다. 예를 들어, A가 피감수이고, B가 감수인 두개의 오퍼랜드들 A 및 B의 경우, 차는 A-B이다. 비슷하게, A가 감수이고, B 및 C가 감수들인 세개의 오퍼랜드들 A, B 및 C의 경우, 차는 A-B-C이다. 세개의 오퍼랜드들 경우(두개의 감수들을 갖는)는 감산되는 캐리 입력 비트는 제 2 감수를 제공하는 빌림 동작들을 갖는 감산에 특히 유용하다.
본 발명은 오퍼랜드들의 차가 '0'인가를 결정하는 회로를 동작시키는 제로 검출 방법을 포함한다. 일 실시례에서, 그 방법은 차의 비트 보수를 나타내는 결과를 마련하는 단계 및 결과를 증가시켜 발생되는 캐리 출력 비트를 검사하는 단계로 이루어진다. 오퍼랜드들의 차가 0일 때,차의 비트 보수는 일련의 0들이므로, 비트 반전된 차를 증가시키면 '1'의 캐리 출력 비트가 발생한다. 마찬가지로, 오퍼랜드들의 차가 0이 아니면, 차의 비트 보수는 하나 이상의 0들을 포함하고, 비트 반전된 차를 증가시키면 0의 캐리 출력 비트가 발생한다. 그러므로, 캐리 출력 비트가 '1'일 때 제로 검출 플래그를 참으로 설정하고, 캐리 출력 비트가 '0'일 때 제로 검출 플래그를 거짓으로 설정한다. 차를 계산하고, 그 차를 비트 반전하여 결과를 마련할 수 있다. 또한, 차를 계산하고, 차를 감소시켜 결과를 마련할 수 있다. 또한, 피감수를 비트 반전하고, 비트 반전된 피감수와 M개의 감수들을 합하여 결과를 마련할 수 있다. M이 1이거나 2이고, 감수들중 하나가 캐리 입력 비트라 하면, 비트 반전된 피감수 및 M개의 감수들을 합하여 발생되는 캐리 출력 비트는 피감수와 M개의 감수들간의 차의 반전된 캐리 출력 비트를 나타내고, 차를 마련하기 위해 그 결과를 비트 반전할 수 있다.
또한, 본 발명은 이진 오퍼랜드들의 차가 0인가를 결정하는 회로를 동작하는 이진 차에 대한 제로 검출 방법을 포함한다. 이 방법은, 피감수를 비트 반전하는 단계, 비트 반전된 피감수와 M개의 감수들의 합으로부터 제1캐리 출력 비트를 발생하는 단계, 비트 반전된 피감수와 M개의 감수들과 상수 1의 합으로부터 제2캐리 출력 비트를 발생하는 단계 및 제1캐리 출력 비트 및 제2캐리 출력 비트들이 다른 논리값들을 갖는가를 결정하는 단계로 이루어지는 것이 바람직하다. 제 1 및 제 2 캐리 출력 비트들이 다른 논리값들을 갖을 때, 제로 검출 플래그를 참으로 설정하고, 제 1 및 제 2 캐리 출력 비트들이 같은 논리값을 갖을 때, 제로 검출 플래그를 거짓으로 설정한다. M이 1 또는 2이고, 감수들중 하나가 캐리 입력 비트라고 할 때, 오퍼랜드들간의 차의 캐리 출력 비트를 제공하기 위해 제 1 캐리 출력 비트를 반전할 수 있고, 비트 반전된 피감수와 감수들간의 합을 오퍼랜드들간의 차를 제공하기 위해 비트 반전할 수 있다.
본 발명은 이진 오퍼랜드들간의 차에 대한 제로 검출을 제공하는 이진 차에 대한 제로 검출 장치를 포함한다. 이 장치는 합 가산기, 제 1 및 제 2 인버터 회로들 및 캐리 발생기의 조합으로 이루어진다. 제 1 인버터 회로는 피감수를 비트 반전한다. 합 가산기는 비트 반전된 피감수와 M개의 감수들의 합을 합 출력에서 발생한다. 제 2 인버터 회로는 합 출력을 비트 반전하여 오퍼랜드들의 차를 제공한다. 캐리 발생기는 합 출력을 1만큼 증가한 후에, 합 출력에 근거하여 캐리 출력 비트를 제공한다. 그러므로, 캐리 출력 비트가 1일 때, 제로 검출 플래그를 참으로 설정하고, 캐리 출력 비트가 0일 때, 제로 검출 플래그를 거짓으로 설정한다.
또한, 본 발명은 이진 오퍼랜드들간의 차에 대한 제로 검출을 제공하는 이진 차에 대한 제로 검출 장치를 포함한다. 이 장치는 인버터 회로 및 제1 및 제2캐리 발생기와 검사 회로의 조합으로 이루어진다. 인버터 회로는 캐리 발생기들로 비트 반전된 피감수를 제공하고, 또한, M개의 감수들은 캐리 발생기들로 인가된다. 제 1 캐리 발생기는 비트 반전된 피감수와 M개의 감수들의 합에 근거하여 제 1 캐리 출력 비트를 발생한다. 제 2 캐리 발생기는 비트 반전된 피감수와 M개의 감수들과 상수 1의 합에 근거하여 제 2 캐리 출력 비트를 발생한다. 검사 회로는 제 1 및 제 2 캐리 출력 비트들을 입력하고, 제 1 및 제 2 캐리 출력 비트들이 다른 논리값들을 갖을 때 제로 검출 플래그를 참으로 설정하고, 제 1 및 제 2 캐리 출력 비트들이 같은 논리값을 갖을 때, 제로 검출 플래그를 거짓으로 설정한다. 일 실시례에서, 제 1 및 제 2 캐리 발생기들은 0으로 설정된 캐리 입력 비트를 갖는 제 1 캐리 체인과, 1로 설정된 캐리 입력 비트를 갖는 제 2 캐리 체인과 각각 결합되는 전파 발생(PG)부들로 구성된다. 이런 식으로, 오퍼랜드들의 차를 계산하지 않고도 빠르게 제로 검출을 제공할 수 있다.
본 발명은 예를 들어, 감산 또는 비교 동작 후에 세트나 리셋을 위해 사용될 수 있는 이진 수들의 차에 대한 제로 검출을 빠르고 효율적으로 제공한다.
본 발명에 의한 이러한 및 다른 목적들, 특징들 및 잇점들은 다음과 같은 바람직한 실시예들의 상세한 설명을 참조할 때 더 깊이 기술되고 보다 쉽게 명백해질 것이다.
차에 대한 비트 보수를 나타내는 결과를 제공하고, 그 결과를 증가시켜 발생되는 캐리 출력 비트를 검사함으로써 이진 오퍼랜드들의 차에 대한 제로 검출을 수행할 수 있다. 그 결과가 일련의 '1'들일 때 캐리 출력 비트는 '1'이고, 그렇지 않으면 캐리 출력 비트는 '0'이다. 게다가, 그 결과는 이진 오퍼랜드들의 차가 일련의 '0'들일 때만 일련의 '1'들이 된다. 그러므로, 그 결과를 증가시켜 발생되는 캐리 출력 비트는 오퍼랜드들의 차가 '0'일 때만 '1'이다. 따라서, 제로 검출 플래그는 캐리 출력 비트가 '1'일 때 참으로 설정될 수 있고, 캐리 출력 비트가 '0'일 때, 거짓으로 설정될 수 있다.
또한, 이진 오퍼랜드들의 차에 대한 제로 검출은 차의 비트 보수를 나타내는 제 1 결과의 제 1 캐리 출력 비트를 발생하고, 1만큼 증가된 차의 비트 보수를 나타내는 제 2 결과의 제 2 캐리 출력 비트를 발생하고 및 제 1 캐리 출력 비트 및 제 2 캐리 출력 비트들이 다른 논리값들(즉, 01 또는 10) 또는 같은 논리값들(즉, 00 또는 11)을 갖는가를 결정하여 수행될 수 있다. 제 1 결과가 일련의 '1'들이고 제 2 결과가 일련의 '0'들일 때 제 1 및 제 2 캐리 출력 비트들은 다른 논리값들을 갖을 것이다. 따라서, 제 1 캐리 출력 비트와 제 2 캐리 출력 비트의 배타적 논리합이 '1'일 때 제로 검출 플래그는 참으로 설정되고, 그렇지 않으면 거짓으로 설정된다.
바람직하게는, 이진 오퍼랜드들은 n비트 오퍼랜드들(1비트의 캐리 입력 오퍼랜드를 n-1 '0'들을 이끄는 n비트 오퍼랜드로서 간주하는)이고, 이진 오퍼랜드들 사이의 차는 n 비트수이고, 캐리 출력 비트들은 연관되는 n비트 합 또는 결과중 최상위 비트(MSB) 위치로부터 나온다. 원한다면, 이진 오퍼랜드들은 보다 큰 오퍼랜드들의 부분들이 될 수 있다. 게다가, 이진 오퍼랜드들은 부호가 있거나 혹은 없을 수 있는데, 부호가 있는 오퍼랜드들은 1의 보수 또는 2의 보수형태를 보인다. 결국, M 개의 감수들이 상술될 때 M은 적어도 1의 정수이다.
본 발명은 몇가지의 기본적인 수학을 고려하면, 아마 가장 잘 이해될 것이다. 두개의 n비트 이진 오퍼랜드들의 차에 대한 제로 검출을 고려하자. A-B가 '0'이라면, 그들의 차는 일련의 n 비트 '0'들이고, A-B 또는 의 비트 보수는 일련의 n비트 '1'들이다. 일련의 n비트 '1'들을 증가시키면, 일련의 n비트 '0'들 및 최상위 비트 위치로부터 캐리 출력 비트 '1'이 만들어진다. 마찬가지로, 어떤 0을 포함하는 일련의 n비트를 증가시켜면 최상위 비트 위치로부터 캐리 출력 비트 '0'이 발생한다. 그러므로, 를 증가시키고, n 비트의 증가된 결과의 최상위 비트 위치에 대한 캐리 출력 비트를 검사하여 이진 차에 대한 제로 검출을 할 수 있다. 이는 예를 들면, A로부터 B를 감산하여 그 결과를 얻고, 캐리 출력 비트를 결과로부터 버리고, 결과를 비트 반전하고, 비트 반전된 결과를 증가시키고, 증가에 의해 발생된 캐리 출력 비트를 검사하여 달성될 수 있다. 그러나, 이러한 접근의 문제점은 합하고, 증가시키는 순서에 의해 제로 검출이 지연된다는 것이다. 또한, 본 발명은 제로 검출에 대한 보다 빠른 접근을 마련한다. 다음 수학식 1(2의 보수형태를 사용하면)과 같은 대수학 조작을 고려하자.
[수학식 1]
Figure kpo00002
수학식 1의 (4)에 의하면, 차 A-B의 제로 검출을 를 증가시켜 발생된 캐리 출력 비트를 검사하여 결정할 수 있다. 마찬가지로, 에 대한 캐리 출력 비트와 에 대한 캐리 출력 비트들의 배타적 논리합을 검사하여 차 A - B에 대한 제로 검출을 결정할 수 있다. 게다가, PG 발생기 및 캐리 체인들을 적절히 이용하여 사실상 수들을 합하지 않고 에 대한 캐리 출력 비트와 에 대한 캐리 출력 비트들을 동시에 결정할 수 있으므로, 합 발생기들의 필요성을 제거한다. 이는 빠른 제로 검출에 대비한다.
이진 결과를 비트 반전하면, 그 때 캐리 출력 비트도 반전된다. 그러므로, A-B 또는 를 비트 반전하면 A-B의 반전된 캐리 출력 비트에 해당하는 캐리 출력 비트가 발생된다. 즉, 수학식 1의 (4)에 의하면, A-B에 대한 캐리 검출은 가 '0'으로 설정된 캐리 출력 비트를 발생할 때 일어난다. 게다가, PG 발생기 및 캐리 체인들을 적절히 이용하여 사실상 수들을 합하지 않고 에 대한 캐리 출력 비트를 결정할 수 있으므로, 합 발생기는 제거될 수 있다. 이는 빠른 캐리 검출 동작에 대비한다.
하나의 2진 오퍼랜드 A(피감수) 및 두개의 n 비트 이진 오퍼랜드들 B 및 C들(감수들)의 차에 대한 제로 검출을 고려하자. A-B-C가 '0'이면 차(A와 B+C간의)는 일련의 n비트 '0'들이고, A-B-C 또는 의 비트 보수는 일련의 n비트 '1'들이다. 그러므로, 을 증가시키고, n 비트의 증가된 결과의 최상위 비트 위치에 대한 캐리 출력 비트를 검사하여 이진 차에 대한 제로 검출을 할 수 있다. 이는 예를 들면, A로부터 B 및 C를 감산하고, 그 결과로부터 캐리 출력 비트를 버리고, 결과를 비트 반전시키고, 비트 반전된 결과를 증가시키고, 증가에 의해 발생된 캐리 출력 비트를 검사하여 달성될 수 있다. 두개의 오퍼랜드들의 경우에서와 같이, 합하고, 증가하는 순서에 의해 제로 검출은 지연된다. 다음 수학식 2(2의 보수 형태를 사용하면)와 같은 대수학 조작을 고려하자.
[수학식 2]
Figure kpo00003
수학식 2의 (8)에 의하면, A와 B+C간의 차에 대한 제로 검출을 를 증가시켜 발생된 캐리 출력 비트를 검사하여 결정할 수 있다. 마찬가지로, A와 B+C간의 차에 대한 제로 검출을 에 대한 캐리 출력 비트와 +1에 대한 캐리 출력 비트의 배타적 논리합을 검사하여 결정할 수 있다. 게다가, PG 발생기 및 캐리 체인들을 적절히 이용하여 에 대한 캐리 출력 비트와 +1에 대한 캐리 출력 비트들을 사실상 수들을 가산하지 않고 동시에 결정할 수 있다. 캐리 출력 비트들만이 필요하기 때문에 합 발생기들은 제거될 수 있다. 또한, 이는 빠른 제로 검출 및 빠른 캐리 검출 동작을 대비한다.
오퍼랜드들 A, B 및 C에 대한 제로 검출의 경우를 고려하자. 여기서, C는 1비트 캐리 입력 비트이다. 수학식 2의 (8)에 의하면, 제 1 캐리 출력 비트는 합 에 의해 발생되고, 제 2 캐리 출력 비트는 합 +1에 의해 발생된다. C가 0일 때, 제1캐리 출력 비트는 다음 수학식 3과 같이 제공될 수 있다.
[수학식 3]
Figure kpo00004
마찬가지로, C가 0일 때, 제2캐리 출력 비트는 다음 수학식 4와 같이 제공될 수 있다.
[수학식 4]
Figure kpo00005
즉, C가 0일 때, 이는 두개의 오퍼랜들의 경우와 등가한데, 여기서, 제 1 캐리 출력 비트는 합 에 의해 발생되고, 제 2 캐리 출력 비트는 합 에 의해 발생된다. 그러나, C가 1일 때, 제 1 캐리 출력 비트는 다음 수학식 5와 같이 제공될 수 있다.
[수학식 5]
Figure kpo00006
마찬가지로, C가 1일 때, 제2캐리 출력 비트는 다음 수학식 6과 같이 제공될 수 있다.
[수학식 6]
즉, C가 1일 때, 제 1 캐리 출력 비트는 합 에 의해 발생되고, 제 2 캐리 출력 비트는 합 에 의해 발생된다.
오퍼랜드들의 차가 '0'일 때, 비록 몇가지의 례들에서 제 1 캐리 출력 비트는 '1'이고, 제 2 캐리 출력 비트는 '0'이 될거라고 하더라도, 다른 례들에서는 제 1 캐리 출력 비트는 '0'이 되고, 제 2 캐리 출력 비트는 '1'이 될 것이다. 부호없는 n비트 이진 정수들의 경우를 고려하자. 피감수가 감수들의 합과 같을 때, 감수들의 합에 피감수의 비트 보수를 가산하면 0의 캐리 출력 비트를 갖는 n비트의 일련의 1들이 발생하고, 감수들과 1을 합한 합에 피감수의 비트 보수를 가산하면 1의 캐리 출력 비트를 갖는 n비트의 일련의 0들이 발생한다. 그러므로, 제 1 캐리 출력 비트가 0이고, 제 2 캐리 출력 비트가 1일 때를 결정하여 제로 검출을 제공한다. A가 피감수이고, B가 감수이고, A와 B가 같으며, 2의 보수형태로 표현되는 두개의 n비트 부호있는 이진 오퍼랜드들 A 및 B의 경우를 고려하자. 1에 0을 가산하면 합의 각 비트 위치를 마련하기 때문에 합 와 B를 합하면 0의 캐리 출력 비트를 갖는 n 비트 일련의 1들이 발생하고, 합 와 B와 1을 합하면 1의 캐리 출력 비트를 갖는 n 비트 일련의 0들이 발생한다. 그러므로, 제 1 캐리 출력 비트가 0이고, 제 2 캐리 출력 비트가 1일 때를 결정하여 제로 검출을 제공한다. 이제, A가 피감수이고, B 및 C가 감수들이고, A와 B+C와 같으며(n>1 및 C>1의 경우), 2의 보수형태로 표현되는 세개의 n비트 부호있는 이진 오퍼랜드들 A, B 및 C의 경우를 고려하자. 예를 들어, A가 0이고, B가 1이고, C가 음의 1일 때, A, B 및 C를 합하면 일련의 n비트 1들 및 1의 캐리 출력 비트가 발생하고, 합 , B, C 및 1을 합하면 합의 MSB 위치로부터 0의 캐리 출력 비트 및 합의 MSB+1 위치로부터 다른 1의 캐리 출력 비트를 갖는 n비트 일련의 0들이 발생한다. 그러므로, 제 1 캐리 출력 비트는 1이고, 제 2 캐리 출력 비트는 0이며, MSB+1 위치로부터 캐리 출력 비트를 버린다.
n비트의 피감수와 M개의 n비트의 감수들간의 n비트 차가 0인 모든 경우에서, 제 1 및 제 2 캐리 출력 비트들은 다른 논리값들을 갖는다. 게다가, 피감수와 M개의 감수들간의 차가 0이 아닐 때, 비트 반전된 피감수와 M개의 감수들의 n비트 합은 적어도 하나의 0을 포함하고, 비트 반전된 피감수와 M개의 감수들 및 1의 n비트 합은 적어도 하나의 0을 갖는 n비트 스트링에 1을 가산하는 것에 등가한다. 그리고, 이는 MSB위치로부터 캐리 출력 비트를 변화시키지 않는다. 그러므로, 제 1 및 제 2 캐리 출력 비트들은 같은 논리값을 갖는다. 따라서, 제 1 및 제 2 캐리 출력 비트들의 배타적 논리합은 이진 차의 제로 검출을 제공한다.
전술한 바에 근거하여, 비트 반전된 피감수와 M개의 감수들의 합을 증가시켜 발생된 캐리 출력 비트가 '1'인가를 결정하여 하나의 피감수와 M개의 감수들 간의 차에 대한 제로 검출을 제공할 수 있음을 제안한다. 마찬가지로, 비트 반전된 피감수 및 M개의 감수들간의 합에 대한 캐리 출력 비트와 비트 반전된 피감수와 M개의 감수들 및 상수 1의 합에 대한 캐리 출력 비트의 배타적 논리합이 '1'인가를 결정하여 제로 검출을 제공할 수 있다.
차가 n비트의 피감수와 하나의 n비트의 감수 사이 또는 n비트 피감수와 두개의 감수들 사이에 있고, 하나의 감수는 n비트이고, 다른 감수는 단일 비트일 때, 비트 반전된 피감수와 감수(또는 감수들)를 합한 합을 비트 반전하면 피감수와 감수(또는 감수들)간의 차를 제공할 수 있고, n비트 합에 의해 발생된 캐리 출력 비트를 반전하면, 차에 대한 캐리 출력 비트가 제공된다(n>1의 경우). 그러나, 두 개 이상의 n비트 감수들이 사용될 때, n비트의 감수들에 비트 반전된 n비트의 피감수를 가산하면 n비트 합의 MSB 위치를 벗어나서 캐리 출력 비트가 발생하므로, 차를 제공하기 위해 n비트 합을 비트 반전하는 것에 의존할 수 없고, 차에 대한 캐리 출력 비트를 제공하기 위해 n비트 합의 MSB 위치로부터 캐리 출력 비트를 반전하는 것을 의존할 수 없다.
도 2 는 본 발명의 일 특징에 의한 알고리즘 200의 플로우차트이다. 단계 202에서 하나의 피감수와 M개의 감수들로 구성된 이진 오퍼랜드들을 획득한다. 단계 204에서 피감수로부터 감수들을 감산하여 차를 구하고, 캐리 출력 비트를 버린다. 단계 206에서, 피감수와 감수간의 차를 비트 반전하여 결과를 얻는다. 단계 208에서, 결과를 증가시킨다. 단계 210에서, 증가된 결과로부터 캐리 출력 비트를 검사한다. 증가된 결과로부터의 캐리 출력 비트가 '1'이면, 결정 단계인 단계 212에서 제로 검출 플래그가 참으로 설정되는 단계 216으로 분기되고, 단계 218에서 알고리즘을 종료한다. 증가된 결과로부터의 캐리 출력 비트가 '0'이면, 결정단계인 단계 212에서 제로 검출 플래그가 거짓으로 설정되는 단계 214로 분기하고, 단계 218에서 알고리즘을 종료한다.
도 3 은 본 발명의 다른 특징에 의한 알고리즘 300의 플로우차트이다. 단계 302에서, 하나의 피감수와 M개의 감수들로 구성된 이진 오퍼랜드들을 구한다. 단계 304에서, 피감수로부터 감수들을 감산하여 차를 얻고, 캐리 출력 비트를 버린다. 단계 306에서, 피감수와 M개의 감수들간의 차를 감소시켜 결과를 구한다. 단계 308에서, 결과를 증가시킨다. 단계 310에서, 증가된 결과로부터 캐리 출력 비트를 검사한다. 증가된 결과로부터의 캐리 출력 비트가 '1'이면, 결정 단계인 단계 312에서 제로 검출 플래그가 참으로 설정되는 단계 316로 분기하고, 단계 318에서 알고리즘을 종료한다. 증가된 결과로부터 캐리 출력 비트가 '0'이면, 결정 단계인 단계 312에서 제로 검출 플래그가 거짓으로 설정되는 단계 314로 분기하고, 단계 318에서 알고리즘을 종료한다.
도 4 는 본 발명의 또 다른 특징에 의한 알고리즘 400의 플로우차트이다. 단계 402에서, 하나의 피감수와 M개의 감수들로 구성된 이진 오퍼랜드들을 획득한다. 단계 404에서, 피감수를 비트 반전시킨다. 단계 406에서, 비트 반전된 피감수와 M개의 감수들을 합하여 결과를 얻고, 캐리 출력 비트를 버린다. 단계 408에서, 결과를 증가시킨다. 단계 410에서, 증가된 결과로부터 캐리 출력 비트를 검사한다. 증가된 결과의 캐리 출력 비트가 '1'이면, 결정 단계인 단계 412에서 제로 검출 플래그를 참으로 설정하는 단계 416으로 분기하고, 단계 418에서 알고리즘을 종료한다. 증가된 결과로부터 캐리 출력 비트가 '0'이면, 결정 단계인 단계 412에서 제로 검출 플래그가 거짓으로 설정되는 단계 414로 분기하고, 단계 418에서 알고리즘을 종료한다.
도 5 는 본 발명의 또 다른 특징에 의한 알고리즘 500의 플로우차트이다. 단계 502에서, 하나의 피감수와 M개의 감수들로 구성된 이진 오퍼랜드들을 구한다. 단계 504에서, 피감수를 비트 반전시킨다. 단계 506에서, 비트 반전된 피감수 및 M개의 감수들을 합하여 제 1 결과를 얻는다. 단계 508에서, 제 1 결과로부터 제 1 캐리 출력 비트를 검사한다. 단계 510에서, 비트 반전된 피감수 및 M개의 감수들과 상수 1을 합하여 제 2 결과를 얻는다. 단계 512에서, 제 2 결과로부터 제 2 캐리 출력 비트를 검사한다. 제 1 및 제 2 캐리 출력 비트들의 배타적 논리합이 '1'이면, 결정 단계인 단계 514에서 제로 검출 플래그를 참으로 설정하는 단계 518로 분기하고, 단계 520에서 알고리즘을 종료한다. 제 1 및 제 2 캐리 출력 비트들의 배타적 논리합이 '0'이면, 결정 단계인 단계 514에서 제로 검출 플래그가 거짓으로 설정되는 단계 516으로 분기하고, 단계 520에서 알고리즘을 종료한다.
도 6 은 본 발명의 또 다른 특징에 의한 알고리즘 600의 플로우차트이다. 단계 602에서, 하나의 피감수 및 M개의 감수들로 구성되는 이진 오퍼랜드들을 구한다. 단계 604에서, 피감수를 비트 반전시킨다. 단계 606에서, 비트 반전된 피감수 및 M개의 감수들을 제 1 캐리 발생기에 인가한다. 제 1 캐리 발생기는 그 합을 사실상 계산하지 않고, 비트 반전된 피감수 및 M개의 감수들의 합에 대한 제 1 캐리 출력 비트를 발생한다. 단계 608에서, 제 1 캐리 발생기로부터의 제 1 캐리 출력 비트를 검사한다. 단계 610에서, 비트 반전된 피감수 및 M개의 감수들과 상수 1을 제 2 캐리 발생기에 인가한다. 제 2 캐리 발생기는 비트 반전된 피감수 및 M개의 감수들과 상수 1의 합에 대한 제 2 캐리 출력 비트를 합을 사실상 합을 계산하지 않고 발생한다. 단계 612에서, 제 2 캐리 발생기로부터의 제 2 캐리 출력 비트를 검사한다. 제 1 및 제 2 캐리 출력 비트들의 배타적 논리합이 '1'이면, 결정 단계인 단계 614에서 제로 검출 플래그를 참으로 설정하는 단계 618로 분기하고, 단계 620에서 알고리즘을 종료한다. 제 1 및 제 2 캐리 출력 비트들의 배타적 논리합이 '0'이면, 결정 단계인 단계 614에서 제로 검출 플래그를 거짓으로 설정하는 단계 616으로 분기하고, 단계 620에서 알고리즘을 종료한다.
도 7 은 본 발명의 또 다른 특징에 의한 알고리즘 700의 플로우차트이다. 알고리즘 700은 두개의 오퍼랜드들을 사용한 알고리즘 200의 예를 제공한다. 단계 702에서, 이진 오퍼랜드들 A 및 B를 구한다. 단계 704에서, 오퍼랜드들 A 및 B간의 차 A-B를 계산한다. 단계 706에서, 차 A-B의 캐리 출력 비트가 '1'이면, 단계 710에서 캐리 플래그를 참으로 설정하고, 알고리즘은 단계 712로 진행한다. 반면에, 캐리 출력 비트가 '0'이면, 단계 708에서 캐리 플래그를 거짓으로 설정하고, 알고리즘은 단계 712로 진행한다. 그에 따라, 차 A-B의 캐리 출력 비트를 버린다. 단계 712에서, 차 A-B를 비트 반전하여 를 획득한다. 단계 714에서 비트 반전된 차를 증가시켜 을 마련한다. 단계 716은 의 캐리 출력 비트가 '1'인가를 검사한다. 만일 그렇다면, 단계 720에서 제로 검출 플래그를 참으로 설정하고, 단계 722에서 알고리즘을 종료한다. 그렇지 않으면, 단계 718에서 제로 검출 플래그를 거짓으로 설정하고, 단계 722에서 알고리즘을 종료한다.
도 8 은 본 발명의 또 다른 특징에 의한 알고리즘 800의 플로우차트이다. 알고리즘 800은 세 개의 오퍼랜드들을 사용하는 알고리즘 200의 일례를 제공한다. 단계 802에서, 이진 오퍼랜드들 A, B 및 C를 구한다. 단계 804에서, 차 A-B-C를 계산하고, 차 A-B-C의 캐리 출력 비트(또는 비트들)를 버린다. 단계 806에서 차 A-B-C를 비트 반전하여 를 획득한다. 단계 808에서, 비트 반전된 차를 증가하여 을 마련한다. 단계 810은 ()+1의 캐리 출력 비트가 '1'인가를 검사한다. 만일 그렇다면, 제로 검출 플래그를 단계 814에서 참으로 설정하고, 단계 816에서 알고리즘을 종료한다. 그렇지 않으면, 제로 검출 플래그를 단계 812에서 거짓으로 설정하고, 단계 816에서 알고리즘을 종료한다.
도 9 는 본 발명의 또 다른 특징에 의한 알고리즘 900의 플로우차트이다. 알고리즘 900은 두개의 오퍼랜드들을 사용하는 알고리즘 400의 일례를 제공한다. 단계 902에서, 이진 오퍼랜드들 A 및 B를 구한다. 단계 904에서, 오퍼랜드 A를 비트 반전하여 를 획득하고, 단계 906에서 와 B를 더한다. 이 때, 결정단계인 단계 908에서, 합 의 캐리 출력 비트가 0인가를 검사한다. 만일 그렇다면, 캐리 플래그를 단계 912에서 참으로 설정하고, 단계 914에서 알고리즘을 종료한다. 그렇지 않다면, 캐리 플래그를 단계 910에서 거짓으로 설정하고, 단계 914에서 알고리즘을 종료한다. 그에 따라 합 의 캐리 출력 비트를 버린다. 단계 914에서, 합 를 비트 반전하여 A 및 B의 차 A-B를 획득한다. 단계 916에서, 합 를 증가시켜 ()+1을 마련한다. 결정 단계인 단계 918에서, ()+1의 캐리 출력 비트가 '1'인가를 검사한다. 만일 그렇다면, 제로 검출 플래그를 단계 922에서 참으로 설정하고, 단계 924에서 알고리즘을 종료한다. 그렇지 않으면, 제로 검출 플래그를 단계 920에서 거짓으로 설정하고, 단계 924에서 알고리즘을 종료한다.
도 10 은 본 발명의 또 다른 특징에 의한 알고리즘 1000의 플로우차트이다. 알고리즘 1000은 세개의 오퍼랜드들을 사용하는 알고리즘 400의 일례를 제공한다. 단계 1002에서, 이진 오퍼랜드들 A, B 및 C를 구한다. 단계 1004에서, 오퍼랜드 A를 반전하여 를 구한다. 단계 1006에서, , B 및 C를 더하고, 합 +B+C의 캐리 출력 비트(또는 비트들)을 버린다. 단계 1008에서 합 +B+C를 비트 반전하여 차 A-B-C를 획득한다. 단계 1010에서, 합 +B+C을 증가하여 (+B+C)+1을 마련한다. 단계 1012는 (+B+C)+1의 캐리 출력 비트가 '1'인가를 검사한다. 만일 그렇다면, 제로 검출 플래그를 단계 1016에서 참으로 설정하고, 단계 1018에서 알고리즘을 종료한다. 그렇지 않으면, 제로 검출 플래그를 단계 1014에서 거짓으로 설정하고, 단계 1018에서 알고리즘을 종료한다.
도 11 은 본 발명의 또 다른 특징에 의한 알고리즘 1100의 플로우차트이다. 알고리즘 1100은 두개의 오퍼랜드들을 사용한 알고리즘 500의 일례예를 제공한다. 단계 1102에서, 이진 오퍼랜드들 A 및 B들을 획득한다. 단계 1104에서, 오퍼랜드 A를 비트 반전하여 를 획득하고, 단계 1106에서 와 B를 더하여 제 1 캐리 출력 비트를 구한다. 이 때 결정 단계인 단계 1108에서 합 의 제 1 캐리 출력 비트가 '0'인가를 검사한다. 만일 그렇다면, 캐리 플래그를 단계 1112에서 참으로 설정하고, 단계 1114에서 알고리즘을 종료한다. 그렇지 않다면, 캐리 플래그를 단계 1110에서 거짓으로 설정하고, 단계 1114에서 알고리즘을 종료한다. 단계 1114에서 합 를 비트 반전하여 A 및 B의 차 A-B를 구한다. 단계 1116에서, 및 B와 1을 더하여 제 2 캐리 출력 비트를 구한다. 이 때 결정 단계인 단계 1118에서, 로부터의 제 1 캐리 출력 비트와 로부터의 제 2 캐리 출력 비트의 배타적 논리합이 '1'인가를 검사한다. 만일 그렇다면, 제로 검출 플래그를 단계 1122에서 참으로 설정하고, 단계 1124에서 알고리즘을 종료한다. 그렇지 않다면, 제로 검출 플래그를 단계 1120에서 거짓으로 설정하고, 단계 1124에서 알고리즘을 종료한다.
도 12 는 본 발명의 또 다른 특징에 의한 알고리즘 1200의 플로우차트이다. 알고리즘 1200은 세개의 오퍼랜드들을 사용하는 알고리즘 500의 일례를 제공한다. 단계 1202에서, 이진 오퍼랜드들 A, B 및 C를 구한다. 단계 1204에서, 오퍼랜드 A를 비트 반전하여 를 구한다. 단계 1206에서, , B 및 C를 더하여 제 1 캐리 출력 비트를 구한다. 단계 1208에서 합 +B+C을 비트 반전하여 차 A-B-C를 획득한다. 단계 1210에서, 합 +B+C에 1을 가산하여 제 2 캐리 출력 비트를 구한다. 이 때, 결정단계인 단계 1212는 +B+C의 제 1 캐리 출력 비트와 (+B+C)+1의 제 2 캐리 출력 비트의 배타적 논리합이 '1'인가를 검사한다. 만일 그렇다면, 제로 검출 플래그를 단계 1216에서 참으로 설정하고, 단계 1218에서 알고리즘을 종료한다. 그렇지 않으면, 제로 검출 플래그를 단계 1214에서 거짓으로 설정하고, 단계 1218에서 알고리즘을 종료한다.
알고리즘들 200, 300, 400, 700, 800, 900 및 1000에서, 다양한 수들을 더하여 결과를 획득하고, 결과의 캐리 출력 비트를 버리며, 결과를 증가시켜(즉, 결과에 1을 더하여) 발생되는 다른 캐리 출력 비트를 검사하여 이진 차의 제로 검출을 결정한다. 이러한 접근들은 하드웨어 이용적인 면에서는 효율적인 반면, 순차적인 가산 및 증가 단계들은 별도의 명령 사이클들을 요구하거나 다른 시간 지연들을 요구할 것이다. 알고리즘들 500, 600, 1100 및 1200에서, 제 1 및 제 2 캐리 출력 비트들을 동시에 발생하여 연산을 신속히 처리하고, 단일 명령 사이클에서 이진 차의 구현을 용이하여 하였다.
알고리즘 200에서 1200까지는 명백히 변할 수 있다. 예를 들어, 알고리즘들 900 및 1200에서 오퍼랜드들의 차를 계산하는 것이 선택적인 것과 마찬가지로 알고리즘들 700, 900 및 1100에서 캐리 플래그를 설정하는 것은 선택적이다. 다수개의 감수들을 피감수로부터 감산할 때, 감수들을 어떤 순서로도 감산할 수 있고, 대안적으로, 감수들의 합을 피감수로부터 감산할 수 있다. 제로 검출 플래그는 두개의 이진 오퍼랜드들(또는 이진 오퍼랜드 및 이진 오퍼랜드들의 합)이 서로 동일할 때 참으로 설정되는 등가 플래그와 상호 교환될 수 있다. 제 1 및 제 2 캐리 출력 비트들을 어떤 순서나 혹은 동시에 발생할 수 있다. 게다가, 제 1 및 제 2 캐리 출력 비트들을 알고리즘 600에서 발생할 때, 합 발생기들없이 예를 들면, PG 발생기부들 및 캐리 체인들을 사용하여 제 1 및 제 2 캐리 출력 비트들의 기준이 되는 합을 사실상 계산할 필요가 없다.
알고리즘 700에 적용된 이진 오퍼랜드들에 대한 다양한 례들을 표 1에서와 같이 리스트하였다.
[표 1]
알고리즘 700을 사용한 두개의 오퍼랜드들에 대한 제로 검출.
Figure kpo00007
오퍼랜드들의 차를 구하고, 차의 캐리 출력 비트를 검사한다. 오퍼랜드들의 차를 비트 반전한 다음, '1'만큼 증가시킨다. 요약하면, 증가된 차로부터 캐리 출력 비트가 '1'이면, 그 때 제로 검출 플래그를 참으로 설정하고, 그렇지 않으면, 제로 검출 플래그를 거짓으로 설정한다. 알고리즘 700에서, 두개의 캐리 출력 비트들을 순차적으로 발생한다. 제 2 열에서 A-B의 캐리 출력 비트는 명백히 A-B에 대한 캐리 검출을 제공하지만, 제로 검출을 위해 사용되지는 않는다. 제 4 열 및 제 5 열에서 ()+1의 캐리 출력 비트는 일련의 '1'들에 대한 오버플로우 조건을 가리키므로, 제로 검출을 제공하지만 A-B에 대한 캐리 검출을 위해 사용되지 않는다.
알고리즘 800에 인가된 세개의 이진 오퍼랜드들에 대한 다양한 례들을 다음 표 2에서와 같이 리스트하였다. 피감수와 두개의 감수들의 차를 비트 반전하여 1만큼 증가한다. 요약하면, 증가된 차로부터 캐리 출력 비트가 '1'이면 그 때 제로 검출 플래그를 참으로 설정하고 그렇지 않으면 제로 검출 플래그를 거짓으로 설정한다.
알고리즘 900에 인가된 두개의 이진 오퍼랜드들에 대한 다양한 례들이 다음 표 3에 리스트되어 있다. 비트 반전된 피감수와 감수를 가산하고, 캐리 출력 비트를 검사하여 오퍼랜드들의 차에 대한 반전된 캐리 출력 비트를 결정한다. 비트 반전된 피감수와 감수의 합을 비트 반전하여 오퍼랜드들의 차를 구한다. 또한, 비트 반전된 피감수와 감수의 합을 증가한다. 요약하면, 증가된 합의 캐리 출력 비트가 1이면 제로 검출 플래그를 참으로 설정하고, 그렇지 않으면 제로 검출 플래그를 거짓으로 설정한다. 알고리즘 900에서, 두개의 캐리 출력 비트들을 순차적으로 발생한다.
[표 2]
알고리즘 800을 사용한 세개의 오퍼랜드들에 대한 제로 검출.
Figure kpo00008
[표 3]
알고리즘 900을 사용한 두개의 오퍼랜드들에 대한 제로 검출.
Figure kpo00009
제 2 열에서 의 캐리 출력 비트를 A-B에 대한 캐리 검출을 마련하기 위해 반전할 수 있지만, 제로 검출을 위해 사용하지 않는다. 제 4 열 및 제 5 열들에서 의 캐리 출력 비트는 일련의 1들에 대한 오버 플로우 조건을 가리키므로, 제로 검출을 마련하지만, A-B에 대한 캐리 검출을 위해 사용되지 않는다.
알고리즘 1000에 인가된 세개의 이진 오퍼랜드들에 대한 다양한 례들이 다음 표 4에 리스트되어 있다. 비트 반전된 피감수와 두개의 감수들을 가산하고, 비트 반전된 피감수 및 두개의 감수들의 합을 비트 반전하여 오퍼랜드들의 차를 구하고, 비트 반전된 피감수와 두개의 감수들의 합을 증가한다. 요약하면, 증가된 합으로부터 캐리 출력 비트가 1이면 제로 검출 플래그를 참으로 설정하고, 그렇지 않으면 제로 검출 플래그를 거짓으로 설정한다.
알고리즘 1100에 인가된 두개의 이진 오퍼랜드들에 대한 다양한 례들이 다음 표 5에 리스트되어 있다. 비트 반전된 피감수와 감수들을 가산하고, 제 1 캐리 출력 비트를 검사하여 오퍼랜드들의 차에 대한 반전된 캐리 출력 비트를 초기에 결정한다. 비트 반전된 피감수와 감수의 합을 오퍼랜드들의 차 결정을 위해 비트 반전한다. 게다가, 비트 반전된 피감수와 감수와 1을 가산하고, 제 2 캐리 출력 비트를 검사한다. 요약하면, 제 1 캐리 출력 비트와 제 2 캐리 출력 비트의 배타적 논리합이 '1'이면 제로 검출 플래그를 참으로 설정하고, 그렇지 않으면 제로 검출 플래그를 거짓으로 설정한다. 알고리즘 1100에서, 두개의 캐리 출력 비트들을 동시에 발생한다. 제 2 열 및 제 3 열들에서 의 제 1 캐리 출력 비트를 A-B에 대한 캐리 검출을 마련하기 위해 반전할 수 있다. 제 5 열 및 제 6 열들에서 ()+1의 제 2 캐리 출력 비트는 캐리 검출을 위해 사용되지 않는다. 그러나, 일련의 1들에 대한 오버 플로우 조건을 가리키기 위해 제 1 및 제 2 캐리 출력 비트들을 검사하므로, 제로 검출을 제공한다.
[표 4]
알고리즘 1000을 사용한 세개의 오퍼랜드들에 대한 제로 검출.
Figure kpo00010
[표 5]
알고리즘 1100을 사용한 두개의 오퍼랜드들에 대한 제로 검출.
Figure kpo00011
알고리즘 1200에 인가된 세개의 이진 오퍼랜드들에 대한 다양한 례들이 다음 표 6에 리스트되어 있다. 비트 반전된 피감수와 두개의 감수들을 가산하고, 제 1 캐리 출력 비트를 검사한다. 비트 반전된 피감수 및 두개의 감수들의 합을 비트 반전하여 오퍼랜드들의 차를 구한다. 게다가, 비트 반전된 피감수와 두개의 감수들과 1을 가산하고, 제 2 캐리 출력 비트를 검사한다. 요약하면, 제 1 및 제 2 캐리 출력 비트들의 배타적 논리합이 1이면 제로 검출 플래그를 참으로 설정하고, 그렇지 않으면 제로 검출 플래그를 거짓으로 설정한다.
표 6에서, 제 1 및 제 2 캐리 출력 비트들이 각 합들의 최상위 비트 위치들(23)로부터 발생되므로, MSB+1 위치들(24)에 나타나는 반면, MSB+1 위치들(24)으로부터 발생되고 MSB+2 위치들(25)에서 나타나는 다른 캐리 출력 비트들은 버려짐을 주시해야 한다. 예를 들면, 표 6의 네번째 예에서, 행 2의 합에 24비트 위치에 제 1 캐리 출력 비트는 1이고, 25비트 위치에 다른 캐리 출력 비트는 0이고, 버려지는 반면, 행 5의 합에서 24비트 위치에 제 2 캐리 출력 비트는 0이고, 25비트 위치에 다른 캐리 출력 비트는 1이며 버려진다.
도 13 은 알고리즘 700에 의한 2개의 4비트 이진 오퍼랜드들 A 및 B의 차의 제로 검출을 위한 논리 회로 1300의 블럭도이다. 제 1 인버터 회로 1302는 오퍼랜드 B에 결합된 오퍼랜드 입력을 가지며, 그 출력에 비트 반전된 오퍼랜드 B를 제공한다. 제 1 인버터 회로 1302는 인버터들 1302a, 1302b, 1302c 및 1302d를 포함한다.
[표 6]
알고리즘 1200을 사용한 세개의 오퍼랜드들에 대한 제로 검출.
Figure kpo00012
오퍼랜드 B는 인버터 1302a에 인가된 비트 B3, 인버터 1302b에 인가된 비트 B2, 인버터 1302c에 인가된 비트 B1, 인버터 1302d에 인가된 비트 B0를 갖으므로, 인버터들 1302a, 1302b, 1302c 및 1302d들은 비트들 , , 및 을 각각 출력한다. 합-플러스-1 가산기 1304는 오퍼랜드들 A 및 에 결합된 오퍼랜드 입력들을 갖으므로, A3 및 비트들은 가산기 1304의 제 3 스테이지에 인가되고, A2 및 비트들은 가산기 1304의 제 2 스테이지에 인가되고, A1 및 비트들은 가산기 1304의 제 1 스테이지에 인가되고, A0 및 는 가산기 1304의 제 0 스테이지에 인가된다. 게다가, 합-플러스-1 가산기 1304의 캐리 출력 비트를 1로 설정한다. 따라서, 합-플러스-1 가산기 1304는 비트들 S+13, S+12, S+11 및 S+10 와 캐리 출력 비트로 구성된 A++1(이는 A-B와 등가한다)의 합-플러스-1 출력을 발생한다. 합-플러스-1 가산기 1304의 캐리 출력 비트를 A와 B간의 차에 대한 캐리 플래그를 설정하기 위해 사용할 수 있다. 제 2 인버터 회로 1306는 합-플러스-1 출력을 비트 반전한다. 제 2 인버터 회로 1306는 인버터들 1306a, 1306b, 1306c 및 1306d들을 포함한다. 비트 S+13을 인버터 1306a에 인가하고, 비트 S+12를 인버터 1306b에 인가하고, 비트 S+11을 인버터 1306c에 인가하고, 비트 S+10를 인버터 1306d에 인가한다. 인버터들 1306a, 1306b, 1306c 및 1306d들은 비트 반전된 합-플러스-1 출력 비트들 , , 및 을 각각 발생한다. 합 가산기 1308는 제 2 인버터 회로 1306에 연결된 제 1 오퍼랜드 입력 및 이진 1에 결합된 제 2 오퍼랜드 입력을 갖는다. 비트 및 논리 '0'은 합 가산기 1308의 제 3 스테이지에 인가되고, 비트 및 논리 '0'은 합 가산기 1308의 제 2 스테이지에 인가되고, 비트 및 논리 '0'은 합 가산기 1308의 제 1 스테이지에 인가되고, 비트 및 논리 '1'은 합 가산기 1308의 제 0 스테이지에 인가된다. 게다가, 합 가산기 1308의 캐리 입력 비트는 0으로 설정된다. 따라서, 합 가산기 1308는 비트들 S3, S2, S1, S0 및 캐리 출력 비트로 구성된 의 합 출력을 발생한다. 합 가산기 1308의 합 출력을 버린다. 그러나, 합 가산기 1308의 캐리 출력 비트는 제로 검출 플래그를 제공한다. 합 가산기 1308의 캐리 출력 비트가 1일 때 제로 검출 플래그는 참이고, 합 가산기 1308의 캐리 출력 비트가 0일 때 제로 검출 플래그는 거짓이다.
도 14 는 알고리즘 900에 의한 두개의 4비트 이진 오퍼랜드들 A 및 B의 차의 제로 검출을 위한 논리 회로 1400의 블럭도이다. 제 1 인버터 회로 1402는 오퍼랜드 A에 결합된 오퍼랜드 입력을 가지며, 그 출력에 비트 반전된 오퍼랜드 A를 제공한다. 제 1 인버터 회로 1402는 인버터들 1402a, 1402b, 1402c 및 1402d를 포함한다. 오퍼랜드 A는 인버터 1402a에 인가된 비트 A3, 인버터 1402b에 인가된 비트 A2, 인버터 1402c에 인가된 비트 A1, 인버터 1402d에 인가된 비트 A0를 갖으므로, 인버터들 1402a, 1402b, 1402c 및 1402d들은 비트들 , , 및 을 각각 발생한다. 합 가산기 1404는 오퍼랜드들 및 B에 결합된 오퍼랜드 입력들을 갖으므로, 및 B3비트들은 가산기 1404의 제 3 스테이지에 인가되고, 및 B2비트들은 가산기 1404의 제 2 스테이지에 인가되고, 및 B1비트들은 가산기 1404의 제 1 스테이지에 인가되고, 및 B0는 가산기 1404의 제 0 스테이지에 인가된다. 게다가, 합 가산기 1404의 캐리 입력 비트를 0으로 설정한다. 따라서, 합 가산기 1404는 비트들 S3, S2, S1 및 S0 와 캐리 출력 비트로 구성된 의 합 출력을 발생한다. 합 가산기 1404의 캐리 출력 비트를 A와 B간의 차에 대한 캐리 플래그를 설정하기 위해 인버터 1405로 반전한다. 제 2 인버터 회로 1406는 차 A-B를 제공하기 위해 합 출력을 비트 반전한다. 제 2 인버터 회로 1406는 인버터들 1406a, 1406b, 1406c 및 1406d들을 포함한다. 비트 S3을 인버터 1406a에 인가하고, 비트 S2를 인버터 1406b에 인가하고, 비트 S1을 인버터 1406c에 인가하고, 비트 S0를 인버터 1406d에 인가한다. 인버터들 1406a, 1406b, 1406c 및 1406d들은 이진 차를 제공하기 위해 비트 반전된 합 출력 비트들을 각각 발생한다. 합 가산기 1408는 합 가산기 1404의 합 출력에 연결된 제1오퍼랜드 입력 및 이진 1에 결합된 제 2 오퍼랜드 입력을 갖는다. 비트 S3 및 논리 '0'은 합 가산기 1408의 제 3 스테이지에 인가되고, 비트 S2 및 논리 '0'은 합 가산기 1408의 제 2 스테이지에 인가되고, 비트 S1 및 논리 '0'은 합 가산기 1408의 제 1 스테이지에 인가되고, 비트 S0 및 논리 '1'은 합 가산기 1408의 제 0 스테이지에 인가된다. 게다가, 합 가산기 1408의 캐리 출력 비트를 0으로 설정한다. 따라서, 합 가산기 1408는 버려질 합 출력 을 발생한다. 그러나, 합 가산기 1408의 캐리 출력 비트는 제로 검출 플래그를 제공한다. 합 가산기 1408의 캐리 출력 비트가 1일 때 제로 검출 플래그는 참이고, 합 가산기 1408의 캐리 출력 비트가 0일 때 제로 검출 플래그는 거짓이다.
논리 회로 1300 및 1400 및 그에 대한 다수의 변화들은 적어도 하나의 합 동작이 일어날때까지 제로 검출 플래그를 설정하기 위한 캐리 출력 비트를 발생할 수 없는 결점이 있다. 즉, 합 가산기들 1308 및 1408이 캐리 발생기로 대체될 수 있다 하더라도, 합-플러스-1 가산기 1304 및 합 가산기 1404는 각 합들을 요구하기 때문에 대체될 수 없다. 먼저 합을 발생하고, 다음에 제로 검출 플래그를 위한 캐리 출력 비트를 발생하는데 관련되는 지연은 동작이 단일 명령 사이클에서 수행되지 않게 할 것이다.
도 15 는 본 발명의 다른 실시예에 의한 두개의 4비트 이진 오퍼랜드들 A 및 B의 차의 제로 검출을 위한 논리 회로 1500의 블럭도이다. 제 1 인버터 회로 1502는 오퍼랜드 A에 결합된 오퍼랜드 입력을 가지며 그 출력에 비트 반전된 오퍼랜드 A를 마련한다. 제 1 인버터 회로 1502는 인버터들 1502a, 1502b, 1502c 및 1502d를 포함한다. 오퍼랜드 A는 인버터 1502a에 인가되는 비트 A3, 인버터 1502b에 인가되는 비트 A2, 인버터 1502c에 인가되는 비트 A1 및 인버터 1502d에 인가되는 비트 A0를 갖으므로, 인버터들 1502a, 1502b, 1502c 및 1502d는 각각 비트들 , , 및 를 출력한다. 캐리 회로 1504는 그 오퍼랜드 입력들에 및 B를 입력한다. 특히, 비트들 및 B3은 캐리 회로 1504의 제 3 스테이지에 인가되고, 비트들 및 B2은 캐리 회로 1504의 제 2 스테이지에 인가되고, 비트들 및 B1은 캐리 회로 1504의 제 1 스테이지에 인가되고, 비트들 및 B0은 캐리 회로 1504의 제 0 스테이지에 인가된다. 캐리 회로 1504은 제 1 캐리 발생기 1506 및 제 2 캐리 발생기 1508을 포함한다. 제 1 캐리 발생기 1506은 합 의 최상위 비트 위치(제3스테이지)로부터 캐리 출력 비트에 해당하는 제 1 캐리 출력 비트를 제공한다. 비슷하게, 제 2 캐리 발생기 1508는 합 의 최상위 비트 위치(제 3 스테이지)로부터 캐리 출력 비트에 해당하는 제 2 캐리 출력 비트를 제공한다. 검사 회로 1510는 캐리 회로 1504로부터 제 1 및 제 2 캐리 출력 비트들을 입력하고, 제 1 및 제 2 캐리 출력 비트들이 다른 논리값들을 갖으면 논리 '1'(이로서 제로 검출 플래그는 참으로 설정된다)을 출력하고, 제 1 및 제 2 캐리 출력 비트들이 같은 논리값을 갖으면 논리 '0'(이로서 제로 검출 플래그는 거짓으로 설정된다)을 출력한다. 바람직하게, 검사 회로 1510는 제 1 및 제 2 캐리 입력 비트들을 입력하는 배타적 논리합 게이트에 의해 구현되고, 제로 검출 플래그를 출력한다. 인버터 1512는 캐리 회로 1504으로부터 제 1 캐리 출력 비트를 입력하고, 제 1 캐리 출력 비트가 '0'이면 논리 '1'(이로서 캐리 플래그는 참으로 설정된다)을 출력하고, 제 1 캐리 출력 비트가 '1'이면 논리 '0'(이로서 캐리 플래그는 거짓으로 설정된다)을 출력한다. 즉, 검사 회로 1510 및 인버터 1512의 출력들은 논리 회로 1500의 출력들을 구성한다. 제 1 캐리 발생기 1506 및 제 2 캐리 발생기 1508들은 동시에 제 1 및 제 2 캐리 출력 비트들을 결정할 수 있는 잇점이 있으므로 빠른 제로 검출을 제공한다.
도 16은 캐리 회로 1504에 대한 구현을 나타낸다. 회로 1600은 및 B3, 및 B2, 및 B1 및 및 B0을 각각 입력하는 전파 발생(PG)부들 1602, 1604, 1606 및 1608을 포함한다. PG부들 1602, 1604, 1606 및 1608은 신호들 P3 및 G3, P2 및 G2, P1 및 G1, 및 P0 및 G0를 제 1 캐리 체인 1610 및 제 2 캐리 체인 1612의 각 스테이지들로 전파하고 발생한다. 제 1 캐리 체인 1610은 그 캐리 입력 비트에 "0"을 입력하고, 제 2 캐리 체인 1612는 그 캐리 입력 비트에 "1"을 입력한다. 그 결과, 제 1 캐리 체인 1610은 합 에 해당하는 제 1 캐리 출력 비트를 제공하는 반면, 제 2 캐리 체인 1612는 합 에 해당하는 제 2 캐리 출력 비트를 제공한다. 이런 식으로, PG 부들 1602, 1604, 1606 및 1608, 제 1 캐리 체인 1610은 제 1 캐리 발생기 1506을 구현하고, PG부들 1602, 1604, 1606 및 1608, 제 2 캐리 체인 1612은 제 2 캐리 발생기 1508을 구현한다.
도 17 은 본 발명에 의한 다른 실시예의 4비트 이진 오퍼랜드들 A 및 B와 캐리 입력 비트 오퍼랜드 C의 차에 대한 제로 검출을 위한 논리 회로 1700의 블럭도이다. 이 실시예에서, A는 피감수이고, B 및 C는 감수들이다. 논리 회로 1700는 몇가지 점들에서 논리 회로 1500과 유사하다. 예를 들면, 인버터 회로 1702는 인버터 회로 1502와 유사하고, 검사 회로 1710는 검사 회로 1510과 유사하고, 인버터 1712는 인버터 1512와 유사하다. 그러나, 캐리 회로 1704은 그 오퍼랜드 입력들에 , B 및 C를 입력한다. 특히, 비트들 및 B3은 캐리 회로 1704의 제 3 스테이지에 인가되고, 비트들 및 B2은 캐리 회로 1704의 제 2 스테이지에 인가되고, 비트들 및 B1은 캐리 회로 1704의 제 1 스테이지에 인가되고, 비트들 ,B0 및 C들은 캐리 회로 1704의 제 0 스테이지에 인가된다. 캐리 회로 1704는 제 1 캐리 발생기 1706 및 제 2 캐리 발생기 1708을 포함한다. 제 1 캐리 발생기 1706는 합 의 최상위 비트 위치(제3스테이지)로부터 캐리 출력 비트에 해당하는 제 1 캐리 출력 비트를 제공한다. 비슷하게, 제 2 캐리 발생기 1708은 합 의 최상위 비트 위치(제 3 스테이지)로부터 캐리 출력 비트에 해당하는 제 2 캐리 출력 비트를 제공한다. 검사 회로 1710는 캐리 회로 1704로부터 제 1 및 제 2 캐리 출력 비트들을 입력하고, 제 1 캐리 출력 비트와 제 2 캐리 출력 비트가 다른 논리값들을 갖으면 논리 1(이로서 제로 검출 플래그는 참으로 설정된다)을 출력하고, 제 1 캐리 출력 비트와 제 2 캐리 출력 비트가 같은 논리값을 갖으면 논리 0(이로서 제로 검출 플래그는 거짓으로 설정된다)을 출력한다. 마찬가지로, 인버터 1712는 제 1 캐리 출력 비트를 입력하고, 캐리 플래그를 제공한다. 즉, 검사 회로 1710 및 인버터 1712의 출력들은 논리 회로 1700의 출력들을 구성한다. 제 1 캐리 발생기 1708 및 제 2 캐리 발생기 1710은 동시에 제 1 및 제 2 캐리 출력 비트들을 발생할 수 있는 잇점이 있으므로, 빠른 제로 검출을 제공한다.
도 18 은 캐리 회로 1704에 대한 구현을 나타낸다. 회로 1800는 및 B3, 및 B2, 및 B1 및 및 B0을 각각 입력하는 반가산기들 1802, 1804, 1806 및 1808을 포함한다. 반가산기들은 PG발생기를 마련하는 전파 발생(PG:Propagate -generate)부들 1810, 1818, 1814 및 1816에 결합된다. 특히, 반가산기 1808의 합비트 및 오퍼랜드 C는 PG부 1816에 결합되고, 반가산기 1806의 합 비트 및 반가산기 1808의 캐리 출력 비트는 PG부 1814에 결합되고, 반가산기 1804의 합 비트 및 반가산기 1806의 캐리 출력 비트는 PG부 1812에 결합되고, 반가산기 1802의 합 비트 및 반가산기 1804의 캐리 출력 비트는 PG부 1810에 결합된다. PG 부들 1810, 1818, 1814 및 1816은 신호들 P3 및 G3, P2 및 G2, P1 및 G1, 및 P0 및 G0를 제 1 캐리 체인 1820 및 제 2 캐리 체인 1822의 각 스테이지들로 전파하고 발생한다. 전파 및 발생 신호들 및 반가산기 1802로부터의 캐리 출력 비트는 과 B와 C의 합에 해당한다. 제 1 캐리 체인 1820은 그 캐리 입력 비트에 "0"을 입력하고, 제 2 캐리 체인 1822는 그 캐리 입력 비트에 "1"을 입력한다. 제 1 배타적 논리합 게이트 1824는 반가산기 1802의 캐리 출력 비트 및 제 1 캐리 체인 1820의 캐리 출력 비트를 그 입력측들에서 입력하고, 제 2 배타적 논리합 게이트 1826은 반가산기 1802의 캐리 출력 비트 및 제 2 캐리 체인 1822의 캐리 출력 비트를 그 입력들에서 입력한다. 그 결과, 제 2 배타적 논리합 게이트 1826는 과 B와 C 및 1의 합에 해당하는 제 2 캐리 출력 비트를 제공하는 반면, 제 1 배타적 논리합 게이트 1824는 과 B과 C의 합에 해당하는 제 1 캐리 출력 비트를 제공한다. 이런 식으로, 반 가산기들 1802, 1804, 1806 및 1808, PG 부들 1810, 1818, 1814 및 1816, 제 1 캐리 체인 1820 및 제 1 배타적 논리합 게이트 1824는 제 1 캐리 발생기 1706을 구현하고, 반가산기들 1802, 1804, 1806 및 1808, PG부들 1810, 1818, 1814 및 1816, 제 2 캐리 체인 1822 및 제 2 배타적 논리합 게이트 1826은 제 2 캐리 발생기 1708을 구현한다.
C가 0일 때, 회로 1800은 0인 C가 오퍼랜드들 A 및 B의 차의 제로 검출에 영향을 미치지 않으므로 마땅히 회로 1600과 같은 결과를 제공한다. 그러나, C가 1일 때, 제 1 배타적 논리합 게이트 1824는 합 에 근거하여 제 1 캐리 출력 비트를 발생하고, 제 2 배타적 논리합 게이트 1826는 합 에 근거하여 제 2 캐리 출력 비트를 발생하므로, 정확한 결과를 제공한다.
도 19 는 캐리 회로 1704, 검사 회로 1710 및 인버터 1712를 조합으로 구현한 도면이다. 회로 1900은 회로 1800과 유사하다. 즉, 반가산기 1902는 반가산기 1802등에 대응하고, NOR 게이트 1930은 EOR 게이트 1824로 대체되고, EOR 게이트 1926은 제 1 캐리 체인 1920 및 제 2 캐리 체인 1922들로부터 캐리 출력 비트들을 입력하는 것이 다르다. 반가산기 1902 및 제 1 캐리 체인 1920으로부터 캐리 출력 비트들이 모두 1이 아닐 것이므로, 배타적 논리합 게이트 1824는 OR 게이트로 대체될 수 있고, OR 게이트와 인버터 1712의 조합은 캐리 플래그를 제공하는 NOR 게이트 1930에 의해 구현될 수 있다. 반가산기 1802의 캐리 출력 비트가 0일 때 캐리 체인들 1820 및 1822의 캐리 출력 비트들은 제 1 및 제 2 캐리 출력 비트들을 각각 제공한다. 마찬가지로, 반가산기 1802의 캐리 출력 비트가 1일 때 캐리 체인들 1820 및 1822의 캐리 출력 비트들의 보수들은 각각 제 1 및 제 2 캐리 출력 비트들을 제공한다. 검사 회로 1710는 제 1 및 제 2 캐리 출력 비트들이 같은 논리값을 갖는가 다른 논리값을 갖는가를 평가하기 때문에, 제 1 및 제 2 캐리 출력 비트들이 모두 반전되는가(혹은 토글되는가) 아닌가는 별 차이가 없다. 즉, 배타적 논리합 게이트들 1824 및 1826과 검사 회로 1712는 제로 검출 플래그를 제공하는 배타적 논리합 게이트 1926을 사용하여 구현될 수 있다. 따라서, 반가산기들 1902, 1904, 1906 및 1908, PG부들 1910, 1912, 및 1916, 제 1 캐리 체인 1920 및 NOR 게이트 1930은 제 1 캐리 발생기 1706 및 인버터 1712를 구현하고, 반가산기들 1902(캐리 출력 비트가 없는), 1904, 1906 및 1908, PG 부들 1910, 1912, 1914 및 1916, 제 1 캐리 체인 1920, 제 2 캐리 체인 1922 및 배타적 논리합 게이트 1926는 제 1 캐리 발생기 1706, 제 2 캐리 발생기 1708 및 검사 회로 1710를 구현한다.
이제까지 설명한 본 발명의 묘사는 예증적인 것이고, 다음과 같은 청구범위들에 설명된 바 본 발명의 범위를 제한하지 않는다. 예를 들어, 여기서 설명된 하드웨어는 어떠한 적당한 회로로도 구현될 수 있고, 원한다면 다양한 길이들의 오퍼랜드들 및 더 많은 오퍼랜드들로 확장될 수 있다. 적당한 PG 발생기들, 캐리 체인들, 인버터 회로들 및 가산기들은 당업자에게 잘 알려져 있다. 범용 컴퓨터 또는 프로세서는 단일 명령 사이클(바람직하게) 또는 다중 명령 사이클들내에서 본 발명을 실행할 수 있다. 본 발명에 의한 이진 차에 대한 제로 검출은 제로 검출 및 비교 동작들을 포함하는 많은 응용들에 아주 적합하고, 다양한 패턴들내에서 모든 1들을 검출하는데 쉽게 적합될 수 있다. 여기서 개시된 실시예들의 변형이나 변화들은 다음과 같은 청구범위에 설명된 바와 같이 본 발명의 범위 및 사상으로부터 이탈되지 않고 지금까지 설명한 묘사에 근거하여 만들어질 수 있다.
본 발명은 따른 이진차에 대한 제로검출은 멀티미디어 데이터 처리에 의해 디지털 영상 및 음성데이터로서 제공되어 지는 이진 오퍼랜드들의 차에 대한 빠르고 효율적인 제로 검출을 제공하며, 제로 검출 및 비교 동작들을 포함하는 많은 응용들에 아주 적합한 이점이 있다.

Claims (55)

  1. 컴퓨터 시스템에서의 조건부 분기 처리시 소정의 이진 오퍼랜드들이 같은가를 판단하기 위하여 멀티미디어 데이터처리에 의해 디지털 영상 및 음성 데이터로서 제공되어지는 이진 오퍼랜드들의 차가 ‘0’인가를 결정하기 위해, 피감수 이진 오퍼랜드를 비트 반전하는 인버터 회로와, 상기 비트 반전된 피감수 이진 오퍼랜드와 감수인 이진 오퍼랜드의 합을 나타내는 합 출력을 발생하는 합 가산기와, 상기 합 출력을 증가시켜 캐리 출력 비트를 발생하여 제로검출 플래그에 제공하는 캐리 발생기를 구비한 제로검출 회로를 동작시키는 이진 차에 대한 제로 검출방법에 있어서, 상기 인버터 회로를 구동하여 상기 이진 오퍼랜드들의 차를 비트 보수를 나타내는 결과를 마련하는 단계와, 상기 캐리 발생기를 구동하여 상기 결과를 증가시켜 발생되는 캐리 출력 비트를 검사하는 단계와, 상기 캐리 출력 비트의 검사결과에 따라 캐리 플래그 및 제로검출 플래그를 설정하는 단계를 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  2. 제1항에 있어서, 상기 캐리 출력 비트는 상기 이진 오퍼랜드들의 차의 비트 보수가 ‘1’들로 구성되어 있을 때 ‘1’이고, 상기 이진 오퍼랜드들의 차의 비트 보수가 적어도 하나 이상의 ‘0’을 포함하면 ‘0’인 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  3. 제1항에 있어서, 상기 캐리 출력 비트가 ‘1’일 때 상기 제로검출 플래그를 참으로 설정하고, 상기 캐리 출력비트가 ‘0’일 때 상기 제로검출 플래그를 거짓으로 설정하는 단계를 더 포함하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  4. 제1항 있어서, 상기 캐리 출력 비트가 ‘1’일 때 상기 캐리 플래그를 참으로 설정하고, 상기 캐리 출력 비트가 ‘0’일 때 상기 캐리 플래그를 거짓으로 설정하는 단계를 더 포함하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  5. 제1항에 있어서, 상기 결과를 마련하는 단계는 상기 이진 오퍼랜드들의 차를 계산하는 단계와, 상기 차를 비트 반전하는 단계를 포함하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  6. 제1항에 있어서, 상기 결과를 마련하는 단계는 상기 이진 오퍼랜드들의 차를 계산하는 단계와, 상기 차를 감소하는 단계를 포함하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  7. 제1항에 있어서, 상기 결과를 비트 반전하여 상기 이진 오퍼랜드들의 차를 마련하는 단계를 더 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  8. 제7항에 있어서, 상기 이진 오퍼랜드들은 피감수 및 M개의 감수들로 이루어지고, 상기 M은 적어도 1인 정수인 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  9. 제8항에 있어서, 상기 결과를 마련하는 단계는 상기 피감수를 비트 반전하는 단계와, 상기 비트 반전된 피감수 및 상기 M개의 감수들을 가산하는 단계를 포함하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  10. 제8항에 있어서, 상기 결과를 마련하는 단계는 상기 M개의 감수들을 비트 반전하는 단계와, 상기 피감수 및 상기 M개의 비트 반전된 감수들과 상수 M-1을 가산하는 단계를 포함하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  11. 제8항에 있어서, 상기 M은 1에서 2까지의 범위 내에 있는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  12. 제11항에 있어서, 상기 M개의 감수들은 제1 및 제2 감수들로 이루어지고, 상기 제2 감수는 캐리 입력 비트인 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  13. 제1항에 있어서, 상기 이진 차에 대한 제로 검출 방법은 단일 명령 사이클에서 수행되는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  14. 컴퓨터 시스템에서의 조건부 분기 처리시 소정의 이진 오퍼랜드들이 같은가를 판단하기 위하여 멀티미디어 데이터처리에 의해 디지털 영상 및 음성데이터로서 제공되어지는 이진 오퍼랜드들을 이루고 있는 피감수와 M개(여기서, M은 적어도 1인 정수)의 감수들간의 차가 ‘0’인가를 결정하기 위하여, 상기 피감수 이진 오퍼랜드를 비트 반전하는 인버터 회로와, 상기 비트 반전된 피감수 이진 오퍼랜드와 감수인 이진 오퍼랜드들의 합을 나타내는 합 출력을 발생하는 합 가산기와, 상기 합 출력을 증가시켜 캐리 출력 비트를 발생하여 제로검출 플래그에 제공하는 캐리 발생기를 구비한 제로검출 회로를 동작시키는 이진 차에 대한 제로 검출 방법에 있어서, 상기 인버터 회로를 구동하여 상기 피감수를 비트 반전하는 단계와, 상기 합 가산기에 의한 상기 비트 반전된 피감수와 상기 M개의 감수들의 합에서 최상위 비트 위치로부터의 캐리 출력 비트를 나타내는 제1캐리 출력 비트를 상기 캐리 발생기를 통하여 발생하는 단계와, 상기 합 가산기에 의한 상기 비트 반전된 피감수와 상기 M개의 감수들과 상수 1의 합에서 최상위 비트 위치로부터의 캐리 출력 비트를 나타내는 제2캐리 출력 비트를 상기 캐리 발생기를 통하여 발생하는 단계와, 상기 제1캐리 출력 비트와 상기 제2캐리 출력 비트가 서로 다른 논리값을 갖는가를 결정하는 단계를 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  15. 제14항에 있어서, 상기 이진 차에 대한 제로 검출 방법은 단일 명령 사이클에서 수행되는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  16. 컴퓨터 시스템에서의 조건부 분기 처리시 소정의 n비트 제1이진 오퍼랜드와 n비트 제2이진 오퍼랜드가 같은가를 판단하기 위하여 멀티미디어 데이터처리에 의해 디지털 영상 및 음성데이터로서 제공되어지는 이진 오퍼랜드들을 이루고 있는 피감수인 상기 제1이진 오퍼랜드와 감수인 상기 제2이진 오퍼랜드간의 n비트 차가 ‘0’인가를 결정하기 위하여, 상기 피감수 제1이진 오퍼랜드를 비트 반전하는 인버터 회로와, 상기 비트 반전된 피감수 제1이진 오퍼랜드와 감수인 제2이진 오퍼랜드의 합을 나타내는 합 출력을 발생하는 합 가산기와, 상기 합 출력을 증가시켜 캐리 출력 비트를 발생하여 제로검출 플래그에 제공하는 캐리 발생기를 구비한 제로검출 회로를 동작시키는 이진 차에 대한 제로 검출 방법에 있어서, 상기 인버터 회로를 구동하여 상기 제1이진 오퍼랜드를 비트 반전하는 단계와, 상기 합 가산기에 의한 상기 비트 반전된 제1이진 오퍼랜드와 상기 제2이진 오퍼랜드의 n비트 합의 최상위 비트로부터의 캐리 출력 비트를 나타내는 제1캐리 출력 비트를 상기 캐리 발생기를 통해 발생하는 단계와, 상기 합 가산기에 의한 상기 비트 반전된 제1이진 오퍼랜드와 상기 제2이진 오퍼랜드와 상수 1의 n비트 합의 최상위 비트로부터의 캐리 출력 비트를 나타내는 제2캐리 출력 비트를 상기 캐리 발생기를 통해 발생하는 단계와, 상기 제1캐리 출력 비트와 상기 제2캐리 출력 비트가 다른 논리값을 갖는가를 결정하는 단계를 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  17. 제16항에 있어서, 상기 제1 및 제2 캐리 출력 비트가 다른 논리값을 가질 때는 상기 컴퓨터 시스템에 구비된 제로 검출 플래그를 참으로 설정하고, 상기 제1 및 제2 캐리 출력 비트가 같은 논리값을 가질 때는 상기 제로 검출 플래그를 거짓으로 설정하는 단계를 더 포함하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  18. 제16항에 있어서, 상기 제1캐리 출력 비트를 반전하여 상기 차의 캐리 출력 비트를 마련하는 단계를 더 포함하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  19. 제16항에 있어서, 상기 비트 반전된 제1이진 오퍼랜드와 제2이진 오퍼랜드의 합을 계산하지 않고 제1캐리 체인을 사용하여 상기 제1캐리 출력 비트를 발생하는 단계를 더 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  20. 제16항에 있어서, 상기 비트 반전된 제1이진 오퍼랜드와 제2이진 오퍼랜드와 상수 1의 합을 계산하지 않고 제2캐리 체인을 사용하여 상기 제2캐리 출력 비트를 발생하는 단계를 더 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  21. 제16항에 있어서, 상기 제1 및 제2 캐리 출력 비트를 동시에 발생하는 단계를 더 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  22. 컴퓨터 시스템에서의 조건부 분기 처리시 소정의 n비트 제1 내지 제3이진 오퍼랜드가 같은가를 판단하기 위하여 멀티미디어 데이터처리에 의해 디지털 영상 및 음성데이터로서 제공되어지는 이진 오퍼랜드들을 이루고 있는 피감수인 상기 제1이진 오퍼랜드와 감수들인 상기 제2 및 제3 이진 오퍼랜드간의 차가 ‘0’인가를 결정하기 위하여, 상기 피감수 제1이진 오퍼랜드를 비트반전하는 인버터 회로와, 상기 비트 반전된 피감수 제1이진 오퍼랜드와 감수인 제2 및 제3 이진 오퍼랜드의 합을 나타내는 합 출력을 발생하는 합 가산기와, 상기 합 출력을 증가시켜 캐리 출력 비트를 발생하여 제로검출 플래그에 제공하는 캐리 발생기를 구비한 제로검출 회로를 동작시키는 이진 차에 대한 제로 검출 방법에 있어서, 상기 인버터 회로를 구동하여 제1이진 오퍼랜드를 비트 반전하는 단계와; 상기 합 가산기로부터 상기 비트 반전된 제1이진 오퍼랜드와 상기 제2 이진 오퍼랜드 및 상기 제3 이진 오퍼랜드의 n비트 합의 캐리 출력 비트를 나타내는 제1 캐리 출력 비트를 상기 캐리 발생기를 통하여 발생하는 단게와; 상기 합가산기로부터 상기 비트 반전된 제1 이진 오퍼랜드와 상기 제2 이진 오퍼랜드 및 상기 제3이진 오퍼랜드와 상수 1의 n비트 합의 캐리 출력 비트를 나타내는 제2캐리 출력 비트를 상기 캐리 발생기를 통하여 발생하는 단계와; 상기 제1캐리 출력 비트와 상기 제2캐리 출력 비트가 다른 논리값을 갖는가를 결정하는 단계를 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  23. 제22항에 있어서, 상기 제1 및 제2캐리 출력 비트가 다른 논리값을 가질 때는 상기 컴퓨터 시스템에 구비된 제로 검출 플래그를 참으로 설정하고, 상기 제1 및 제2캐리 출력 비트가 같은 논리값을 가질 때는 상기 제로 검출 플래그를 거짓으로 설정하는 단계를 더 포함하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  24. 제22항에 있어서, 상기 제1캐리 출력 비트를 반전하여 상기 차의 캐리 출력 비트를 마련하는 단계를 더 포함하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  25. 제22항에 있어서, 상기 비트 반전된 제1이진 오퍼랜드와 상기 제2이진 오퍼랜드 및 상기 제3이진 오퍼랜드의 합을 계산하지 않고 제1캐리 체인을 사용하여 상기 제1캐리 출력 비트를 발생하는 단계를 더 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  26. 제22항에 있어서, 상기 비트 반전된 제1이진 오퍼랜드와 상기 제2이진 오퍼랜드 및 상기 제3이진 오퍼랜드와 상수 1의 합을 계산하지 않고 제2캐리 체인을 사용하여 상기 제2캐리 출력비트를 발생하는 단계를 더 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  27. 제22항에 있어서, 상기 제1 및 제2캐리 출력 비트를 동시에 발생하는 단계를 더 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 방법.
  28. 피감수인 제1이진 오퍼랜드와 감수인 제2이진 오퍼랜드의 차가 ‘0’인가를 결정하는 이진 차에 대한 제로 검출 장치에 있어서, 상기 제2이진 오퍼랜드를 비트 반전하는 제1인버터 회로와, 상기 제1이진 오퍼랜드와 상기 비트 반전된 제2이진 오퍼랜드의 합을 나타내는 합-플러스-1- 출력을 합-플러스-1 가산기와, 상기 합-플러스-1 출력을 비트 반전하는 제2인버터 회로와, 상기 비트 반전된 합-플러스-1 출력을 반전하여 캐리 출력 비트를 발생하고 제로 검출 플래그에 제공하는 캐리 발생기를 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  29. 피감수인 제1이진 오퍼랜드와 감수인 제2이진 오퍼랜드의 차가 ‘0’인가를 결정하는 이진 차에 대한 제로 검출 장치에 있어서, 상기 제1이진 오퍼랜드를 비트 반전하는 제1인버터 회로와, 상기 비트 반전된 제1이진 오퍼랜드와 상기 제2이진 오퍼랜드의 합을 나타내는 합 출력을 발생하는 합 가산기와, 상기 합 출력을 증가시켜 캐리 출력 비트를 발생하고 제로 검출 플래그레 제공하는 캐리 발생기를 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  30. 제1이진 오퍼랜드와 제2이진 오퍼랜드가 같은가를 결정하는 이진 차에 대한 제로 검출 장치에 있어서, 상기 제1이진 오퍼랜드를 비트 반전하는 인버터 회로와, 상기 비트 반전된 제1이진 오퍼랜드와 상기 제2이진 오퍼랜드의 합에 근거하여 제1캐리 출력 비트를 발생하는 제1캐리 발생기와, 상기 비트 반전된 제1이진 오퍼랜드와 상기 제2이진 오퍼랜드와 상기 1의 합에 근거하여 제2캐리 출력 비트를 발생하는 제2캐리 발생기와, 상기 제1 및 제2캐리 출력 비트가 다른 논리값을 갖는가를 결정하는 검사회로를 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  31. 제30항에 있어서, 상기 제1캐리 발생기는 상기 비트 반전된 제1이진 오퍼랜드와 상기 제2이진 오퍼랜드와 합을 계산하는 합 가산기를 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  32. 제31항에 있어서, 상기 검사 회로는 상기 제1 및 제2 캐리 출력 비트가 다른 논리값을 가질 때는 등가 플래그를 참으로 설정하고, 상기 제1 및 제2캐리 출력 비트가 같은 논리값을 가질 때는 상기 등가 플래그를 거짓으로 설정하는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  33. 이진 오퍼랜드들인 피감수와 M(여기서, M은 적어도 1)개의 감수들의 차가 ‘0’인가를 결정하는 이진 차에 대한 제로 검출 장치에 있어서, 상기 피감수를 비트 반전하는 인버터 회로와, 상기 비트 반전된 피감수와 상기 M개의 감수들의 합에 근거하여 제1캐리 출력 비트를 발생하는 제1캐리 발생기와, 상기 비트 반전된 피감수와 상기 M개의 감수들과 상수 1의 합에 근거하여 제2캐리 출력 비트를 발생하는 제2캐리 발생가와, 상기 제1 및 제2캐리 출력 비트가 다른 논리값을 갖는가를 결정하는 검사회로를 구비하는 것을 특징으로 하는 이전 차에 대한 제로 검출 장치.
  34. 제33항에 있어서, 상기 검사 회로는 상기 제1 및 제2캐리 출력 비트가 다른 논리값을 가질 때는 제로 검출 플래그를 참으로 설정하고, 사기 제1 및 제2캐리 출력 비트가 같은 논리값을 가질때는 상기 제로 검출 플래그를 거짓으로 설정하는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  35. 제34항에 있어서, 상기 검사회로는 상기 제1 및 제2 캐리 출력 비트를 입력하는 배타적 논리합 게이트를 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  36. 제33항에 있어서, 상기 인버터 회로는 제1 및 제2캐리 발생기와 결합되고, 상기 제1 및 제2캐리 발생기는 상기 검사회로와 결합되는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  37. 제33항에 있어서, 상기 M은 1에서 2까지의 범위 내에 있는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  38. 제33항에 있어서, 상기 M은 2이고, 상기 감수들 중 하나는 캐리 입력 비트인 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  39. 제33항에 있어서, 상기 제1캐리 발생기는 ‘0’으로 설정된 캐리 입력 비트를 가지는 제1캐리 체인을 구비하고, 상기 제2캐리 발생기는 ‘1’로 설정된 캐리 입력 비트를 가지는 제2캐리 체인을 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  40. 제39항에 있어서, 상기 제1 및 제2캐리 발생기는 상기 제1 및 제2캐리 체인과 결합되는 전파 발생부들을 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  41. 제40항에 있어서, 상기 전파 발생부들 각각은 상기 제1 및 제2캐리 체인과 결합되는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  42. 제40항에 있어서, 상기 M개의 감수들은 단일 감수로 구성되고, 상기 비트 반전된 피감수 및 상기 단일 감수는 상기 전파 발생부들에 인가되는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  43. 제40항에 있어서, 상기 M개의 감수들은 제1 및 제2감수로 이루어지고, 상기 제1 및 제2캐리 발생기는 상기 전파 발생부들과 결합된 캐리 보류 가산기들을 구비하고, 상기 비트 반전된 피감수 및 상기 제1감수를 상기 캐리 보류 가산기들에 인가하고, 상기 제2감수는 상기 전파 발생부들 중 하나에 인가되는 캐리 입력 비트인 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  44. 제33항에 있어서, 상기 제1 및 제2캐리 출력 비트는 동시에 발생되는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  45. 제33항에 있어서, 상기 제1캐리 발생기는 상기 비트 반전된 피감수와 상기 M개 감수들의 합을 제공하는 합 가산기를 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  46. 제33항에 있어서, 상기 제2캐리 발생기는 상기 비트 반전된 피감수와 상기 M개의 감수들과 상수 1의 합을 제공하는 합 가산기를 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  47. 제33항에 있어서, 상기 제1캐리 발생기는 상기 비트 반전된 피감수와 상기 M개 감수들의 합을 계산하지 않고 상기 제1캐리 출력 비트를 발생하는 것을 특징으로 하는 이진차에 대한 제로 검출 장치.
  48. 제33항에 있어서, 상기 제2캐리 발생기는 상기 비트 반전된 피감수와 상기 M개의 감수들과 상수 1의 합을 계산하지 않고 상기 제2캐리 출력 비트를 발생하는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  49. 피감수와 M개(여기서, M은 적어도 1인 정수) 감수들의 차가 ′0′인가를 결정하는 이진 차에 대한 제로 검출 장치에 있어서, 상기 피감수를 비트 반전하는 수단과, 상기 비트 반전된 피감수와 상기 M개 감수들의 합의 캐리 출력 비트를 나타내는 제1캐리 출력 비트를 발생하는 수단과, 상기 비트 반전된 피감수와 상기 M개의 감수들과 상수 1의 합의 캐리 출력 비트를 나타내는 제2캐리 출력 비트를 발생하는 수단과, 상기 제1 및 제2캐리 출력 비트가 다른 논리값을 가지는가를 결정하여 제로 검출 플래그를 참으로 설정하는 수단을 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  50. 제49항에 있어서, 상기 M은 1인 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  51. 제49항에 있어서, 상기 M은 2이고, 상기 감수들 중 하나는 캐리 입력 비트인 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  52. 제49항에 있어서, 상기 제1캐리 출력 비트를 발생하는 수단은 0으로 설정된 캐리 입력 비트를 가지는 제1캐리 체인을 구비하고, 상기 제2캐리 출력 비트를 발생하는 수단을 1로 설정된 캐리 입력 비트를 가지는 제2캐리 체인을 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  53. 제52항에 있어서, 상기 제1캐리 출력 비트를 발생하는 수단과 상기 제2캐리 출력 비트를 발생하는 수단은 전파 발생부들을 구비하고, 상기 전파 발생부들 각각은 상기 제1 및 제2캐리 체인들과 결합되는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  54. 제49항에 있어서, 상기 다른 논리값을 결정하는 수단은 상기 제1 및 제2캐리 출력 비트를 입력하는 배타적 논리합 게이트를 구비하는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
  55. 제49항에 있어서, 상기 제1캐리 출력 비트를 발생하는 수단과 상기 제2캐리 출력 비트를 발생하는 수단은 상기 제1 및 제2캐리 출력 비트를 동시에 발생하는 것을 특징으로 하는 이진 차에 대한 제로 검출 장치.
KR1019970012515A 1996-08-08 1997-04-04 이진차에 대한 제로 검출 KR100254913B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8/695,142 1996-08-08
US08/695,142 US6018757A (en) 1996-08-08 1996-08-08 Zero detect for binary difference

Publications (2)

Publication Number Publication Date
KR19980018063A KR19980018063A (ko) 1998-06-05
KR100254913B1 true KR100254913B1 (ko) 2000-05-01

Family

ID=24791760

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970012515A KR100254913B1 (ko) 1996-08-08 1997-04-04 이진차에 대한 제로 검출

Country Status (2)

Country Link
US (1) US6018757A (ko)
KR (1) KR100254913B1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487576B1 (en) * 1998-10-06 2002-11-26 Texas Instruments Incorporated Zero anticipation method and apparatus
US20050015608A1 (en) * 2003-07-16 2005-01-20 Pkware, Inc. Method for strongly encrypting .ZIP files
US6742013B2 (en) * 2001-05-03 2004-05-25 Sun Microsystems, Inc. Apparatus and method for uniformly performing comparison operations on long word operands
US7007172B2 (en) * 2001-06-01 2006-02-28 Microchip Technology Incorporated Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
US7020788B2 (en) * 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US7467178B2 (en) * 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US6952711B2 (en) * 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US20030005269A1 (en) * 2001-06-01 2003-01-02 Conner Joshua M. Multi-precision barrel shifting
US6975679B2 (en) * 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US7003543B2 (en) * 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US6934728B2 (en) * 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
US20020184566A1 (en) * 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US20030005268A1 (en) * 2001-06-01 2003-01-02 Catherwood Michael I. Find first bit value instruction
US20030023836A1 (en) * 2001-06-01 2003-01-30 Michael Catherwood Shadow register array control instructions
US20030028696A1 (en) * 2001-06-01 2003-02-06 Michael Catherwood Low overhead interrupt
US6937084B2 (en) * 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
US6976158B2 (en) * 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US20090292757A1 (en) * 2008-05-23 2009-11-26 Steven Leeland Method and apparatus for zero prediction

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3573726A (en) * 1968-09-26 1971-04-06 Computer Ind Inc Partial modification and check sum accumulation for error detection in data systems
JPS5892036A (ja) * 1981-11-27 1983-06-01 Toshiba Corp 加算回路
JPS59149539A (ja) * 1983-01-28 1984-08-27 Toshiba Corp 固定小数点−浮動小数点変換装置
US4685079A (en) * 1984-12-14 1987-08-04 Rca Corporation Ripple-borrow binary subtraction circuit
US4764888A (en) * 1986-03-03 1988-08-16 Motorola, Inc. N-bit carry select adder circuit with double carry select generation
JPS6388636A (ja) * 1986-10-01 1988-04-19 Nec Corp マイクロコンピユ−タ
US4924422A (en) * 1988-02-17 1990-05-08 International Business Machines Corporation Method and apparatus for modified carry-save determination of arithmetic/logic zero results
JPH01277931A (ja) * 1988-04-29 1989-11-08 Nec Ic Microcomput Syst Ltd 零検出回路
JP3076046B2 (ja) * 1989-01-31 2000-08-14 日本電気株式会社 例外検出回路
US5027308A (en) * 1989-02-14 1991-06-25 Intel Corporation Circuit for adding/subtracting two floating point operands
US5060243A (en) * 1990-05-29 1991-10-22 Motorola, Inc. Ripple counter with reverse-propagated zero detection
US5241490A (en) * 1992-01-06 1993-08-31 Intel Corporation Fully decoded multistage leading zero detector and normalization apparatus
US5257218A (en) * 1992-01-06 1993-10-26 Intel Corporation Parallel carry and carry propagation generator apparatus for use with carry-look-ahead adders
US5581496A (en) * 1992-07-20 1996-12-03 Industrial Technology Research Institute Zero-flag generator for adder
US5270955A (en) * 1992-07-31 1993-12-14 Texas Instruments Incorporated Method of detecting arithmetic or logical computation result
US5469377A (en) * 1992-08-18 1995-11-21 Nec Corporation Floating point computing device for simplifying procedures accompanying addition or subtraction by detecting whether all of the bits of the digits of the mantissa are 0 or 1
US5396445A (en) * 1993-04-26 1995-03-07 Industrial Technology Research Institute Binary carry-select adder
US5519649A (en) * 1993-06-04 1996-05-21 Nippon Steel Corporation Micro-processor having rapid condition comparison function
US5367477A (en) * 1993-11-29 1994-11-22 Motorola, Inc. Method and apparatus for performing parallel zero detection in a data processing system
US5448509A (en) * 1993-12-08 1995-09-05 Hewlett-Packard Company Efficient hardware handling of positive and negative overflow resulting from arithmetic operations
JPH07191831A (ja) * 1993-12-27 1995-07-28 Fujitsu Ltd 演算装置
US5586069A (en) * 1994-09-30 1996-12-17 Vlsi Technology, Inc. Arithmetic logic unit with zero sum prediction

Also Published As

Publication number Publication date
KR19980018063A (ko) 1998-06-05
US6018757A (en) 2000-01-25

Similar Documents

Publication Publication Date Title
KR100254913B1 (ko) 이진차에 대한 제로 검출
EP0585619B1 (en) Method of detecting zero condition of arithmetic or logical computation result, and circuit for same
KR950029924A (ko) 부동 소수점점 덧셈/뺄셈 연산기의 반올림 방법 및 장치
JP4388543B2 (ja) 3項入力の浮動小数点加減算器
JPH01211119A (ja) 条件コードの予測装置
EP0487814A2 (en) Overflow determination for three-operand alus in a scalable compound instruction set machine
US5867413A (en) Fast method of floating-point multiplication and accumulation
KR102639646B1 (ko) 다중 입력 부동 소수점 가산기
EP0436905A2 (en) High performance adder using carry predictions
US5574677A (en) Adaptive non-restoring integer divide apparatus with integrated overflow detect
US5798958A (en) Zero detect for binary sum
KR100627993B1 (ko) 3입력 분할 가산기
EP0520298A2 (en) Arithmetic circuit
US6581087B1 (en) Floating point adder capable of rapid clip-code generation
Awasthi et al. Hybrid signed digit arithmetic in efficient computing: A comparative approach to performance assay
Tenca et al. Carry-save representation is shift-unsafe: The problem and its solution
KR950015180B1 (ko) 고속연산형 가산기
US7240085B2 (en) Faster shift value calculation using modified carry-lookahead adder
US7051062B2 (en) Apparatus and method for adding multiple-bit binary-strings
US20040073593A1 (en) Hybrid carry look ahead/carry select adder including carry logic generating complementary hot carry signals, and method for producing the carry logic
KR100241071B1 (ko) 합과 합+1을 병렬로 생성하는 가산기
KR0175358B1 (ko) 고속화를 위한 연산기의 상태 플래그 검출회로
US5831886A (en) Calculating a + sign(A) in a single instruction cycle
KR0161485B1 (ko) 산술 연산 장치를 이용한 부스 알고리즘 곱셈 연산 장치
EP0508627A2 (en) Method and apparatus for generating carry out signals

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110131

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee