[go: up one dir, main page]

KR100493053B1 - 디지털 데이터의 포화 처리 장치 - Google Patents

디지털 데이터의 포화 처리 장치 Download PDF

Info

Publication number
KR100493053B1
KR100493053B1 KR10-2003-0012042A KR20030012042A KR100493053B1 KR 100493053 B1 KR100493053 B1 KR 100493053B1 KR 20030012042 A KR20030012042 A KR 20030012042A KR 100493053 B1 KR100493053 B1 KR 100493053B1
Authority
KR
South Korea
Prior art keywords
data
value
bit
bits
boundary value
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR10-2003-0012042A
Other languages
English (en)
Other versions
KR20040076707A (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 KR10-2003-0012042A priority Critical patent/KR100493053B1/ko
Priority to US10/778,070 priority patent/US20040167949A1/en
Priority to JP2004051259A priority patent/JP2004259282A/ja
Priority to CNB2004100352149A priority patent/CN100530076C/zh
Publication of KR20040076707A publication Critical patent/KR20040076707A/ko
Application granted granted Critical
Publication of KR100493053B1 publication Critical patent/KR100493053B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F7/4991Overflow or underflow
    • G06F7/49921Saturation, i.e. clipping the result to a minimum or maximum value
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/3816Accepting numbers of variable word length

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

디지털 데이터의 포화 처리 장치가 개시된다. 본 발명에 따른 포화 처리 장치는 유효 비트 결정부, 포화 검출부, 한계 값 발생부 및 선택부를 구비하는 것을 특징으로 한다. 유효 비트 결정부는 경계 값(boundary value)에 응답하여 입력되는 데이터가 포화되었는지 여부를 판단하기 위한 유효 비트에 대한 정보를 가지는 경계 값 데이터를 발생한다. 포화 검출부는 상기 데이터를 수신하고 상기 경계 값 데이터에 응답하여 상기 데이터가 포화되었는지 여부를 판단하고, 판단 결과를 검출 신호로서 발생한다. 한계 값 발생부는 상기 경계 값 데이터에 응답하여 최대 한계 값과 최소 한계 값을 출력한다. 선택부는 상기 데이터 및 상기 검출 신호에 응답하여 상기 데이터, 상기 최대 한계 값 및 상기 최소 한계 값 중 하나를 출력한다. 상기 경계 값은 상기 포화 처리 장치가 장착되는 프로세서의 데이터 버스 폭보다 작은 값인 것을 특징으로 한다. 상기 유효 비트는 상기 포화 처리 장치가 장착되는 프로세서가 K 비트의 데이터 버스를 구비하고 상기 경계 값이 { 2}^{A} 으로 표현될 경우, 상기 경계 값 데이터의 상위 K-A 비트 부분인 것을 특징으로 한다.

Description

디지털 데이터의 포화 처리 장치{Apparatus for carrying out a saturation of digital data}
본 발명은 데이터의 오버플로우(overflow)를 검출하고 포화 동작을 수행하는 포화 처리 장치에 관한 것으로서, 특히 포화 동작을 수행하는데 소비되는 시간을 줄이고 전력 소비를 줄일 수 있는 포화 처리 장치에 관한 것이다.
데이터의 포화 동작은 신호 처리 시스템에 있어 가장 많은 연산이 수행되는 연산 중의 하나인 에너지 계산 또는 동기 누적(Coherent Accumulation) 계산 결과를 특정 범위로 한정할 때 이용된다. 예를 들어, 16 비트 프로세서에서 연산 결과는 정수형으로 0~65535(unsigned) 또는 -32768~32767(signed)의 범위 안에서만 표현될 수 있다.
따라서 16 비트 프로세서에서는 연산 결과가 -32768 보다 작거나 32767 보다 큰 경우에는 표현될 수 없다. 만약 연산의 오류에 의해 연산 결과가 이 범위를 벗어나게 되면 연산 결과의 부호가 바뀌는 현상이 나타나며 이후의 연산 결과는 믿을 수 없는 데이터가 된다.
포화 처리 장치는 이와 같이 연산 결과가 16진수로 0x8000(십진수 -32768)에서 0x7FFF(십진수 32767)를 벗어날 경우에는 이를 사용자에게 알려 주거나 또는 이 범위를 벗어나지 않도록 강제적으로 최대 값(32767) 또는 최소값(-32768)을 연산 결과로서 출력한다.
전자와 같이 사용자에게 연산 결과가 지정된 범위를 벗어났음을 알려주는 것을 보통 오버플로우(overflow)가 발생되었다고 하며, 후자의 경우처럼 연산 결과와 상관없이 강제적으로 최대 값 또는 최소 값을 출력하도록 하는 것을 포화(Saturation) 처리 방식이라고 한다.
도 1은 16 비트 데이터의 포화 처리 기능을 표로 나타낸 도면이다.
도 1을 참조하면, 프로세서가 16비트의 데이터 폭을 가지며 지정된 범위가 부호형이 아닌(unsigned) 경우 데이터는 0 ~ 65,535 사이의 범위 내에 존재해야한다. 또는 프로세서가 16 비트의 데이터 폭을 가지며 지정된 범위가 부호형(signed)인 경우 데이터는 -32,767 ~ 32, 767 사이에 존재해야한다.
도 1에서 X 값은 연산 결과이고, Y 값은 출력되는 결과이다. X 값이 최대 값(32,767)보다 크면 Y 값은 32,767이 출력된다. X 값이 최소 값(-32,767)보다 작으면 Y 값은 -32,767이 출력된다. X 값이 최대 값(32,767)보다 작고 최소 값(-32,767)보다 크면 Y 값은 X 값과 동일한 값이 출력된다.
일반적으로 이러한 포화 처리는 프로그램을 이용하여 주로 처리하지만 프로그램을 수행하는데 수 사이클이 소모되기 때문에 포화 처리는 시간 소비가 크다는 문제가 있다.
더구나 포화 처리 프로그램을 그대로 하드웨어로 구현할 경우 적지 않은 게이트 사이즈가 필요하며 특히, 연산 결과의 범위를 특정 범위 사이로 지정하는 경우 특정한 범위가 하드웨어에 의하여 고정되기 때문에 어플리케이션 (Application)이 바뀌거나 연산 결과의 범위를 변경하고자 하는 경우에도 연산 결과의 범위를 변경할 수 없는 문제가 있다.
도 2는 포화 처리 장치의 포화 처리 기능을 소프트웨어로 구현한 예를 설명하는 도면이다.
X 값이 최대 값(upper bound)보다 크면 Y 값은 최대 값(upper bound)이 출력되고, X 값이 최소 값(lower bound)보다 작으면 Y 값은 최소 값(lower bound)이 출력되며, X 값이 최대 값(upper bound)과 최소 값(lower bound) 사이라면 Y 값은 X 값과 동일한 값이다.
도 2의 프로그램에서 알 수 있듯이, 포화 처리를 위해 대략 4~5 사이클이 소비된다. 더욱이 UMTS(Universal Mobile Telecommunications System)와 같이 이동 통신 시스템에서는 동기 누적(Coherent Accumulation) 및 비동기 누적 (Non-Coherent Accumulation)의 연산이 진행되면서 수시로 포화처리 과정이 수행된다.
따라서 이러한 포화 처리에만 적지 않은 사이클 수가 소모되고 있다. 현재는 이러한 시간의 소비가 이동 통신 시스템에 큰 영향을 미치지 않지만 향후 다른 어플리케이션(application)이 추가될 경우 포화처리에 소요되는 사이클 수가 점차 부담이 될 것이다.
도 3은 포화 처리 장치의 하드웨어 구성을 나타내는 블록도이다.
도 3을 참조하면, 일반적인 포화 처리 장치는 2의 보수 계산부(310), 감산부(320), 비교부들(330, 340) 및 선택부(350)를 구비한다.
여기서 경계 값(BV)은 데이터(DATA)가 유효하게 표현될 수 있는 구간이며, 설계자가 정하는 값으로서 데이터(DATA)의 비트 수보다는 적게 지정된다. 데이터(DATA)는 연산기(미도시)에 의하여 연산된 결과이다. 경계 값(BV)은 비교 연산을 위해 각각 2의 보수 계산부(310)와 감산부(320)로 인가된다.
예를 들어, 경계 값(BV)이 이면 데이터(DATA)가 유효하게 표현될 수 있는 범위는 ~ -1이다. 이 범위의 값은 오버플로우(Overflow)가 발생될 경우 부호 비트에 따라 최대 값 또는 최소 값으로 강제 할당되기 위해 사용되며 또한 입력된 데이터(DATA)와 비교되기 위해 사용된다.
데이터(DATA)가 유효하게 표현될 수 있는 범위는 2의 보수 계산부(310)와 감산부(320)에 의해서 얻어진다. 비교부(330)는 데이터(DATA)와 감산부(320)에서 출력되는 -1의 대소를 비교한다. 비교부(340)는 데이터(DATA)와 2의 보수 계산부(310)에서 출력되는 의 대소를 비교한다. 선택부(350)는 비교기들(330, 340)의 출력에 응답하여 데이터(DATA), 최대 값( -1) 및 최소 값( ) 중 하나를 출력한다.
도 2에서 알 수 있듯이, 하드웨어로 만들어진 도 2의 포화 처리 장치의 포화 동작은 한 사이클만에 수행될 수 있지만 경계 값(BV)에 의하여 정해지는 유효 범위가 특정한 값으로 고정되는 문제가 있다.
만일 경계 값(BV)에 의해 정해지는 유효 범위가 고정되지 않을 경우, 유효 범위가 포화 처리 장치(300)가 장착되는 프로세서의 데이터 폭에 대응되는 최대 범위로 정해져야 하기 때문에 이에 따른 장치 부담이 증가되는 문제가 있다.
본 발명이 이루고자하는 기술적 과제는 연산 결과인 데이터가 유효하게 표현될 수 있는 범위를 설계자가 지정할 수 있으며 간단한 회로로 구성되는 포화 처리 장치를 제공하는데 있다.
본 발명이 이루고자하는 다른 기술적 과제는 연산 결과인 데이터가 유효하게 표현될 수 있는 범위를 설계자가 지정할 수 있으며 간단한 회로로 구성되는 포화 처리 장치의 포화 동작 수행 방법을 제공하는데 있다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 포화 처리 장치는 유효 비트 결정부, 포화 검출부, 한계 값 발생부 및 선택부를 구비하는 것을 특징으로 한다.
유효 비트 결정부는 경계 값(boundary value)에 응답하여 입력되는 데이터가 포화되었는지 여부를 판단하기 위한 유효 비트에 대한 정보를 가지는 경계 값 데이터를 발생한다.
포화 검출부는 상기 데이터를 수신하고 상기 경계 값 데이터에 응답하여 상기 데이터가 포화되었는지 여부를 판단하고, 판단 결과를 검출 신호로서 발생한다.
한계 값 발생부는 상기 경계 값 데이터에 응답하여 최대 한계 값과 최소 한계 값을 출력한다. 선택부는 상기 데이터 및 상기 검출 신호에 응답하여 상기 데이터, 상기 최대 한계 값 및 상기 최소 한계 값 중 하나를 출력한다.
상기 유효 비트는 상기 포화 처리 장치가 장착되는 프로세서가 K 비트의 데이터 버스를 구비하고 상기 경계 값이 으로 표현될 경우, 상기 경계 값 데이터의 상위 K-A 비트 부분인 것을 특징으로 한다.
상기 유효 비트 결정부는 상기 경계 값이 으로 표현될 경우, 상기 경계 값 데이터 중 상기 유효 비트는 제 1 논리 값으로, 상기 경계 값 데이터 중 나머지 비트는 제 2 논리 값으로 출력하는 것을 특징으로 한다.
상기 유효 비트 결정부는 상기 경계 값이 N 개의 비트로 이루어지며 으로 표현될 수 있는 경우, 제 1 내지 제 N-1 논리합 수단을 구비하고, 상기 제 1 논리합 수단은 상기 경계 값의 최하위 비트(LSB : Least Significant Bit)인 제 1 비트와 제 2 비트를 논리합하고, 상기 제 2 내지 제 N-1 논리합 수단은 상기 경계 값의 제 3 내지 제 N 비트 중 대응되는 하나의 비트를 각각 수신하며, 수신되는 제 3 내지 제 N 비트 중 하나의 비트와 이전 논리합 수단의 출력을 논리합하며, 상기 경계 값의 제 1 비트가 상기 경계 값 데이터의 최하위 비트인 제 1 비트로서 발생되고, 상기 제 1 내지 제 N-1 논리합 수단의 출력이 각각 상기 경계 값 데이터의 제 2 내지 제 N 비트로서 발생되는 것을 특징으로 한다.
상기 포화 검출부는 입력되는 상기 데이터의 비트들 중 상기 경계 값 데이터의 유효 비트에 대응되는 상위 비트들을 추출하여 상기 데이터가 포화되었는지 여부를 판단하며, 상기 데이터의 최상위 비트가 제 1 논리 값인 경우, 상기 경계 값 데이터의 유효 비트에 대응되는 나머지 유효 비트 중 하나의 비트라도 제 2 논리 값이면 상기 데이터는 포화된 것으로 판단하며, 상기 데이터의 최상위 비트가 제 2 논리 값인 경우, 상기 경계 값 데이터의 유효 비트에 대응되는 나머지 유효 비트 중 하나의 비트라도 제 1 논리 값이면 상기 데이터는 포화된 것으로 판단하는 것을 특징으로 한다.
상기 검출 신호는 상기 데이터가 포화되면 제 1 논리 값을 가지며 상기 데이터가 포화되지 않으면 제 2 논리 값을 가지는 것을 특징으로 한다.
상기 포화 검출부는 상기 데이터가 M 개의 비트로 구성되는 경우, 제 1 내지 제 M-1 인버터들, 제 1 내지 제 M-1 검출 신호 발생부, 음수 논리합 수단, 양수 논리합 수단 및 선택 수단을 구비하는 것을 특징으로 한다.
제 1 내지 제 M-1 인버터들은 최하위 비트인 제 1 비트 내지 제 M-1 비트의 논리 값을 반전시킨다. 제 1 내지 제 M-1 검출 신호 발생부는 상기 데이터의 제 1 내지 제 M-1 비트 중 대응되는 비트 및 상기 대응되는 비트의 반전 논리 값을 수신하고 상기 경계 값 데이터의 대응되는 비트를 수신하여 제 1 내지 제 M-1 양수 값 검출 신호 및 제 1 내지 제 N-1 음수 값 검출 신호를 발생한다.
음수 논리합 수단은 상기 제 1 내지 제 M-1 음수 값 검출 신호를 논리합 하여 제 1 신호를 출력한다. 양수 논리합 수단은 상기 제 1 내지 제 M-1 양수 값 검출 신호를 논리합 하여 제 2 신호를 출력한다.
선택 수단은 상기 데이터의 최상위 비트가 제 1 논리 값이면 상기 제 1 신호를 상기 검출 신호로서 출력하고 상기 데이터의 최상위 비트가 제 2 논리 값이면 상기 제 2 신호를 상기 검출 신호로서 출력한다.
상기 제 1 내지 제 M-1 검출 신호 발생부는 각각 상기 데이터의 제 1 내지 제 M-1 비트 중 대응되는 비트와 상기 경계 값 데이터의 대응되는 비트를 논리곱 하여 상기 양수 값 검출 신호를 발생하는 양의 논리곱 수단 및 상기 데이터의 제 1 내지 제 M-1 비트 중 대응되는 비트의 반전 논리 값과 상기 경계 값 데이터의 대응되는 비트를 논리곱 하여 상기 음수 값 검출 신호를 발생하는 음의 논리곱 수단을 구비하는 것을 특징으로 한다.
상기 최대 한계 값은 상기 경계 값 데이터를 반전(inversion)한 값이며, 상기 최소 한계 값은 상기 경계 값 데이터와 동일한 값인 것을 특징으로 한다.
상기 선택부는 상기 데이터의 최상위 비트가 제 1 논리 값이고 상기 검출 신호가 제 1 논리 값이면 최소 한계 값을 출력하고, 상기 데이터의 최상위 비트가 제 2 논리 값이고 상기 검출 신호가 제 1 논리 값이면 최대 한계 값을 출력하며, 상기 검출 신호가 제 2 논리 값이면 상기 데이터를 출력하는 것을 특징으로 한다.
삭제
상기 기술적 과제를 달성하기 위한 본 발명에 따른 포화 동작 수행 방법은 입력되는 데이터가 포화되었는지 여부를 판단하는 포화 처리 장치의 포화 동작 수행 방법에 있어서, (a) 경계 값(boundary value)에 응답하여 상기 데이터가 포화되었는지 여부를 판단하기 위한 유효 비트에 대한 정보를 가지는 경계 값 데이터를 발생하는 단계, (b) 상기 경계 값 데이터에 응답하여 상기 데이터가 포화되었는지 여부를 판단하는 검출 신호를 발생하는 단계, (c) 상기 경계 값 데이터에 응답하여 최대 한계 값과 최소 한계 값을 발생하는 단계 및 (d) 상기 데이터 및 상기 검출 신호에 응답하여 상기 데이터, 상기 최대 한계 값 및 상기 최소 한계 값 중 하나를 출력하는 단계를 구비하는 것을 특징으로 한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 4는 본 발명에 따른 포화 처리 장치를 나타내는 블록도이다.
도 4를 참조하면, 본 발명에 따른 포화 처리 장치는 유효 비트 결정부(410), 포화 검출부(420), 한계 값 발생부(430) 및 선택부(440)를 구비한다.
유효 비트 결정부(410)는 경계 값(boundary value)(BV)에 응답하여 입력되는 데이터(DATA)가 포화되었는지 여부를 판단하기 위한 유효 비트에 대한 정보를 가지는 경계 값 데이터(BVD)를 발생한다.
여기서, 경계 값(BV)은 포화 처리 장치(400)가 장착되는 프로세서의 데이터 버스 폭보다 작은 값이다. 유효 비트는 포화 처리 장치(400)가 장착되는 프로세서가 K 비트의 데이터 버스를 구비하고 경계 값(BV)이 으로 표현될 경우, 경계 값 데이터(BVD)의 상위 K-A 비트 부분이다.
유효 비트 결정부(410)는 경계 값(BV)이 으로 표현될 경우, 경계 값 데이터(BVD) 중 상기 유효 비트는 제 1 논리 값으로, 경계 값 데이터(BVD) 중 나머지 비트는 제 2 논리 값으로 출력한다.
포화 검출부(420)는 데이터(DATA)를 수신하고 경계 값 데이터(BVD)에 응답하여 데이터(DATA)가 포화되었는지 여부를 판단하고, 판단 결과를 검출 신호(SATDET)로서 발생한다.
좀 더 설명하면, 포화 검출부(420)는 입력되는 데이터(DATA)의 비트들 중 경계 값 데이터(BVD)의 유효 비트에 대응되는 상위 비트들을 추출하여 데이터(DATA)가 포화되었는지 여부를 판단한다.
데이터(DATA)의 최상위 비트가 제 1 논리 값인 경우, 경계 값 데이터(BVD)의 유효 비트에 대응되는 나머지 유효 비트 중 하나의 비트라도 제 2 논리 값이면 데이터(DATA)는 포화된 것으로 판단하며, 데이터(DATA)의 최상위 비트가 제 2 논리 값인 경우, 경계 값 데이터(BVD)의 유효 비트에 대응되는 나머지 유효 비트 중 하나의 비트라도 제 1 논리 값이면 데이터(DATA)는 포화된 것으로 판단한다.
검출 신호(SATDET)는 데이터(DATA)가 포화되면 제 1 논리 값을 가지며 데이터(DATA)가 포화되지 않으면 제 2 논리 값을 가진다.
한계 값 발생부(430)는 경계 값 데이터(BVD)에 응답하여 최대 한계 값(UPLIMIT)과 최소 한계 값(LOLIMIT)을 출력한다. 최대 한계 값(UPLIMIT)은 경계 값 데이터(BVD)를 반전(inversion)한 값이며, 최소 한계 값(LOLIMIT)은 경계 값 데이터(BVD)와 동일한 값이다.
선택부(440)는 데이터(DATA) 및 검출 신호(SATDET)에 응답하여 데이터(DATA), 최대 한계 값(UPLIMIT) 및 최소 한계 값(LOLIMIT) 중 하나를 출력한다. 좀 더 설명하면, 선택부(440)는 데이터(DATA)의 최상위 비트가 제 1 논리 값이고 검출 신호(SATDET)가 제 1 논리 값이면 최소 한계 값(LOLIMIT)을 출력하고, 데이터(DATA)의 최상위 비트가 제 2 논리 값이고 검출 신호(SATDET)가 제 1 논리 값이면 최대 한계 값(UPLIMIT)을 출력하며, 검출 신호(SATDET)가 제 2 논리 값이면 데이터(DATA)를 출력한다.
도 11은 본 발명의 실시예에 따른 포화 동작 수행 방법을 나타내는 플로우 차트이다.
도 11의 포화 동작 수행 방법(1100)은 도 4의 포화 처리 장치의 동작에 대응된다. 따라서 도 4의 포화 처리 장치(400)의 동작은 도 11을 참조하여 설명된다.
먼저, 경계 값에 응답하여 데이터가 포화되었는지 여부를 판단하기 위한 유효 비트에 대한 정보를 가지는 경계 값 데이터를 발생한다.(1110 단계)
1110 단계의 동작은 유효 비트 결정부(410)에서 수행된다. 데이터(DATA)가 최대 한계 값(UPLIMIT)과 최소 한계 값(LOLIMIT) 사이에 존재하면 데이터(DATA)는 유효한 값이며, 데이터(DATA)가 최대 한계 값(UPLIMIT)보다 크거나 최소 한계 값(LOLIMIT)보다 작으면 데이터(DATA)는 유효하지 않은 값이다.
경계 값(BV)은 데이터(DATA)가 유효하게 표현될 수 있는 최대 한계 값(UPLIMIT)과 최소 한계 값(LOLIMIT)을 구하기 위하여 설계자가 포화 처리 장치(400)로 입력하는 값이다. 최대 한계 값(UPLIMIT)과 최소 한계 값(LOLIMIT)은 포화 처리 장치(400)가 장착되는 프로세서(미도시)의 데이터 버스 폭에 의하여 제한되기 때문에 경계 값(BV)이 무한대일 필요는 없다. 본 발명에서 경계 값(BV)은 프로세서(미도시)의 데이터 버스 폭보다 작은 값이다.
예를 들어, 데이터 버스의 폭이 8비트이고, 설계자가 -32 ~ 31 의 범위, 즉, ~ -1의 범위를 데이터(DATA)가 유효하게 표현될 수 있는 범위로 지정하고 싶다면 설계자는 경계 값(BV)으로서 32를 지정한다. 32는 이진수 0100 0000으로 표현된다.
유효 비트는 포화 처리 장치(400)가 장착되는 프로세서가 K 비트의 데이터 버스를 구비하고 경계 값(BV)이 으로 표현될 경우, 경계 값 데이터(BVD)의 상위 K-A 비트 부분이다. 앞서 든 예에서, K 는 8이고 A 는 5이므로 유효비트는 3비트이다. 즉, 경계 값 데이터(BVD)의 상위 3비트가 유효비트이다.
유효 비트 결정부(410)는 경계 값 데이터(BVD) 중 유효 비트는 제 1 논리 값으로, 경계 값 데이터(BVD) 중 나머지 비트는 제 2 논리 값으로 출력한다. 여기서는 설명의 편의를 위하여 제 1 논리 값을 "1"이라 하고 제 2 논리 값을 "0"이라 한다. 그러나 제 1 논리 값과 제 2 논리 값이 반대로 설정될 수 있는 것은 당업자에게는 자명하다.
앞의 예에서 유효 비트 결정부(410)는 1110 0000을 경계 값 데이터(BVD)로서 출력한다. 유효 비트를 "1"로 출력하는 유효 비트 결정부(410)의 구성이 도 5에 도시되어 있다.
도 5를 참조하면, 유효 비트 결정부(410)는 경계 값(BV)이 N 개의 비트로 이루어지며 으로 표현될 수 있는 경우, 제 1 내지 제 N-1 논리합 수단(OR1, OR2 ~ OR N-1)을 구비한다. 여기서는 경계 값(BV)이 8 비트로 이루어지고 이라고 가정한다.
제 1 논리합 수단(OR1)은 경계 값(BV)의 최하위 비트(LSB : Least Significant Bit)인 제 1 비트(BV1)와 제 2 비트(BV2)를 논리합 한다. 제 2 내지 제 N-1 논리합 수단(OR2, OR3 ~ OR N-1)은 경계 값(BV)의 제 3 내지 제 N 비트(BV3, BV4 ~ BV N) 중 대응되는 하나의 비트를 각각 수신하며, 수신되는 제 3 내지 제 N 비트(BV3, BV4 ~ BV N) 중 하나의 비트와 이전 논리합 수단의 출력을 논리합 한다.
경계 값(BV)의 제 1 비트(BV1)가 경계 값 데이터(BVD)의 최하위 비트인 제 1 비트(BVD1)로서 발생되고, 제 1 내지 제 N-1 논리합 수단(OR1, OR2, OR3 ~ OR N-1)의 출력이 각각 경계 값 데이터(BVD)의 제 2 내지 제 N 비트(BVD2, BVD2 ~ BVD N)로서 발생된다.
즉, 경계 값(BV)의 제 1 비트(BV1)는 경계 값 데이터(BVD)의 제 1 비트(BVD1)로서 출력되고 제 1 논리합 수단(OR1)의 출력은 경계 값 데이터(BVD)의 제 2 비트(BVD2)로서 출력된다. 마찬가지로 제 N-1 논리합 수단(OR N-1)의 출력은 경계 값 데이터(BVD)의 제 N 비트(BVD N)로서 출력된다.
도 5의 유효 비트 결정부(410)는 경계 값(BV)의 N 개의 비트 중 1인 비트의 상위 비트에 대응되는 경계 값 데이터(BVD)의 비트는 모두 1로 출력한다.
경계 값 데이터에 응답하여 데이터가 포화되었는지 여부를 판단하는 검출 신호를 발생한다.(1120 단계) 1120단계는 포화 검출부(420)의 동작에 대응된다.
포화 검출부(420)는 데이터(DATA)를 수신하고 경계 값 데이터(BVD)에 응답하여 데이터(DATA)가 포화되었는지 여부를 판단하고, 판단 결과를 검출 신호(SATDET)로서 발생한다. 검출 신호(SATDET)는 데이터(DATA)가 포화되면 제 1 논리 값을 가지며 데이터(DATA)가 포화되지 않으면 제 2 논리 값을 가진다.
포화 검출부(420)는 입력되는 데이터(DATA)의 비트들 중 경계 값 데이터(BVD)의 유효 비트에 대응되는 상위 비트들을 추출하여 데이터(DATA)가 포화되었는지 여부를 판단한다.
앞에 든 예에서처럼 유효 비트가 상위 3비트라고 가정하고 입력된 데이터(DATA)가 96(이진수로 0110 0000)이라고 가정한다. 그러면 포화 검출부(420)는 데이터(DATA)의 상위 3비트인 011 만을 이용하여 데이터(DATA)가 포화되었는지 여부를 판단한다. 포화 여부를 판단하는 원리는 다음과 같다.
데이터(DATA)의 최상위 비트가 제 1 논리 값인 경우, 경계 값 데이터(BVD)의 유효 비트에 대응되는 데이터(DATA)의 비트들 중 하나의 비트라도 제 2 논리 값이면 데이터(DATA)는 포화된 것이다.
도 6은 데이터가 포화되는지 여부를 판단하는 예를 나타내는 도면이다. 도 6을 참조하면, 경계 값 데이터(BVD)의 유효 비트에 대응되는 데이터(DATA)의 비트들이 111 인 경우 데이터(DATA)는 포화되지 않은 것이다. 따라서 검출 신호(SATDET)는 제 2 논리 값, 즉 "0" 으로 출력된다.
경계 값 데이터(BVD)의 유효 비트에 대응되는 데이터(DATA)의 비트들이 110 인 경우 데이터(DATA)는 포화된 것이다. 따라서 검출 신호(SATDET)는 제 1 논리 값, 즉 "1" 로 출력된다.
데이터(DATA)의 최상위 비트가 제 2 논리 값인 경우, 경계 값 데이터(BVD)의 유효 비트에 대응되는 데이터(DATA)의 비트들 중 하나의 비트라도 제 1 논리 값이면 데이터(DATA)는 포화된 것이다. 도 6을 참조하면, 경계 값 데이터(BVD)의 유효 비트에 대응되는 데이터(DATA)의 비트들이 000 인 경우 데이터(DATA)는 포화되지 않은 것이다. 따라서 검출 신호(SATDET)는 제 2 논리 값, 즉 "0" 으로 출력된다.
경계 값 데이터(BVD)의 유효 비트에 대응되는 데이터(DATA)의 비트들이 001 인 경우 데이터(DATA)는 포화된 것이다. 따라서 검출 신호(SATDET)는 제 1 논리 값, 즉 "1" 로 출력된다.
앞의 예에서 데이터(DATA)가 0110 0000이고 경계 값 데이터(BVD)의 유효비트에 대응되는 비트가 "011"이므로 데이터(DATA)는 포화된 것이다.
도 7은 도 4의 포화 검출부를 나타내는 블록도이다.
도 7을 참조하면, 포화 검출부(420)는 데이터(DATA)가 M 개의 비트로 구성되는 경우, 제 1 내지 제 M-1 인버터들(I1, I2 ~ IM-1), 제 1 내지 제 M-1 검출 신호 발생부(DS1, DS2 ~ DS M-1), 음수 논리합 수단(NOR), 양수 논리합 수단(POR) 및 선택 수단(710)을 구비한다.
제 1 내지 제 M-1 인버터들(I1, I2 ~ IM-1)은 최하위 비트인 제 1 비트 내지 제 M-1 비트(D1, D2 ~ DM-1)의 논리 값을 반전시킨다. 제 1 내지 제 M-1 검출 신호 발생부(DS1, DS2 ~ DS M-1)는 데이터(DATA)의 제 1 내지 제 M-1 비트(D1, D2 ~ DM-1) 중 대응되는 비트 및 대응되는 비트의 반전 논리 값을 수신하고 경계 값 데이터(BVD)의 대응되는 비트를 수신하여 제 1 내지 제 M-1 양수 값 검출 신호(PDS1, PDS2 ~ PDS M-1) 및 제 1 내지 제 M-1 음수 값 검출 신호(NDS1, NDS2 ~ NDS M-1)를 발생한다.
제 1 내지 제 M-1 검출 신호 발생부(DS1, DS2 ~ DS M-1)는 각각 데이터(DATA)의 제 1 내지 제 M-1 비트(D1, D2 ~ DM-1) 중 대응되는 비트와 경계 값 데이터(BVD)의 대응되는 비트를 논리곱 하여 양수 값 검출 신호(PDS1, PDS2 ~ PDS M-1)를 발생하는 양의 논리곱 수단(PAND1, PAND2 ~ PAND M-1) 및 데이터(DATA)의 제 1 내지 제 M-1 비트(D1, D2 ~ DM-1) 중 대응되는 비트의 반전 논리 값과 경계 값 데이터(BVD)의 대응되는 비트를 논리곱 하여 음수 값 검출 신호(NDS1, NDS2 ~ NDS M-1)를 발생하는 음의 논리곱 수단(NAND1, NAND2 ~ NAND M-1)을 구비한다.
음수 논리합 수단(NOR)은 제 1 내지 제 M-1 음수 값 검출 신호(NDS1, NDS2 ~ NDS M-1)를 논리합 하여 제 1 신호(S1)를 출력한다. 양수 논리합 수단(POR)은 제 1 내지 제 M-1 양수 값 검출 신호(PDS1, PDS2 ~ PDS M-1)를 논리합 하여 제 2 신호(S2)를 출력한다.
선택 수단(710)은 데이터(DATA)의 최상위 비트가 제 1 논리 값이면 제 1 신호(S1)를 검출 신호(SATDET)로서 출력하고 데이터(DATA)의 최상위 비트가 제 2 논리 값이면 제 2 신호(S2)를 검출 신호(SATDET)로서 출력한다.
앞의 예와 같이 입력되는 데이터(DATA)가 0110 0000이라고 가정하고 경계 값 데이터(BVD)가 1110 0000이라고 가정한다. 데이터(DATA)와 경계 값 데이터(BVD)가 포화 검출부(420)로 입력되면 음수 논리합 수단(NOR)의 출력인 제 1 신호는 "0"으로 출력되고 양수 논리합 수단(POR)의 출력인 제 2 신호(S2)는 "1"로 출력된다. 데이터(DATA)의 최상위 비트가 제 2 논리 값 즉 "0"이므로 선택 수단(710)은 제 2 신호(S2)를 검출 신호(SATDET)로서 출력한다.
입력되는 데이터(DATA)의 비트 수와 경계 값 데이터(BVD)의 비트 수는 다를 수 있다. 즉 데이터(DATA)의 비트 수가 경계 값 데이터(BVD)의 비트 수보다 더 많을 수 있다. 이 경우에는 경계 값 데이터(BVD)의 최 상위 비트에 "1"을 추가하여 데이터(DATA)의 비트 수와 경계 값 데이터(BVD)의 비트 수를 일치시킨다.
도 7의 포화 검출부(420)는 논리 곱 수단과 논리 합 수단 및 인버터로 만 구성된다. 따라서 종래의 포화 처리 장치(300)와 같이 2개의 비교기(330, 340)를 이용하는 것보다 훨씬 간단한 회로 구성을 가진다. 종래의 비교기(330, 340)는 보통 N x N 감산기를 이용하여 구현되기 때문에 논리 곱 수단, 논리 합 수단, 인버터 반전 논리합 수단 등 그 회로 구성이 매우 복잡하다.
경계 값 데이터에 응답하여 최대 한계 값과 최소 한계 값을 발생한다.(1130 단계) 1130 단계의 동작은 한계 값 발생부(430)의 동작에 대응된다.
도 8은 한계 값 발생부를 나타내는 회로도이다.
도 8을 참조하면, 한계 값 발생부(430)는 경계 값 데이터(BVD)에 응답하여 최대 한계 값(UPLIMIT)과 최소 한계 값(LOLIMIT)을 출력한다. 최대 한계 값(UPLIMIT)은 경계 값 데이터(BVD)를 반전(inversion)한 값이며, 최소 한계 값(LOLIMIT)은 경계 값 데이터(BVD)와 동일한 값이다.
최대 한계 값(UPLIMIT)과 최소 한계 값(LOLIMIT)은 데이터(DATA)가 포화되는 경우 데이터(DATA) 대신 출력되는 값이다. 예를 들어 경계 값(BV)이 32(이진수로 0010 0000)이라면 경계 값 데이터(BVD)는 1110 0000이다. 최대 한계 값(UPLIMIT)은 경계 값 데이터(BVD)를 반전한 0001 1111 (십진수로 31)이며 최소 한계 값(LOLIMIT)은 경계 값 데이터(BVD)와 동일한 1110 0000(십진수로 -32)이다.
종래의 포화 처리장치(300)에서는 경계 값(BV)에서 1을 빼는 연산과 2의 보수를 구하는 연산(경계 값(BV)의 각 비트를 반전한 후 +1을 한다.)을 수행해야 하므로 매우 복잡하고 회로 구성도 복잡하다. 그러나 본 발명에서는 유효 비트 결정부(410)에서 출력되는 경계 값 데이터(BVD)를 이용하여 간단하게 최대 한계 값(UPLIMIT) 및 최소 한계 값(LOLIMIT)을 구할 수 있다.
한계 값 발생부(430)의 회로 구성도 간단하다. 즉, 한계 값 발생부(430)는 경계 값 데이터(BVD)의 각각의 비트를 반전하여 최대 한계 값(UPLIMIT)으로서 출력하는 제 1 내지 제 N 인버터(IL1, IL2 ~ IL N)를 구비한다. 최소 한계 값(LOLIMIT)은 경계 값 데이터(BVD)를 그대로 출력하면 된다.
데이터 및 검출 신호에 응답하여 데이터, 최대 한계값 및 최소 한계 값 중 하나를 출력한다.(1140 단계) 1140 단계의 동작은 선택부(440)의 동작에 대응된다.
도 9는 선택부의 동작을 설명하는 도면이다. 도 9를 참조하면, 선택부(440)는 데이터(DATA)의 최상위 비트가 제 1 논리 값이고 검출 신호(SATDET)가 제 1 논리 값이면 최소 한계 값(LOLIMIT)을 출력한다.
검출 신호(SATDET)가 제 1 논리 값, 즉 1이라면 데이터(DATA)는 포화 된 상태이고 데이터(DATA)의 최상위 비트가 제 1 논리 값이면 데이터(DATA)가 음수이므로 선택부(440)는 최소 한계 값(LOLIMIT)을 포화 처리 장치(400)의 결과(SATRST)로서 출력한다.
선택부(440)는 데이터(DATA)의 최상위 비트가 제 2 논리 값이고 검출 신호(SATDET)가 제 1 논리 값이면 최대 한계 값(UPLIMIT)을 출력한다. 검출 신호(SATDET)가 제 1 논리 값, 즉 1이라면 데이터(DATA)는 포화 된 상태이고 데이터(DATA)의 최상위 비트가 제 2 논리 값이면 데이터(DATA)가 양수이므로 선택부(440)는 최대 한계 값(UPLIMIT)을 포화 처리 장치(400)의 결과(SATRST)로서 출력한다.
선택부(440)는 검출 신호(SATDET)가 제 2 논리 값이면 데이터(DATA)를 출력한다. 데이터(DATA)의 최상위 비트가 제 1 논리 값이냐 제 2 논리 값이냐에 상관없이 검출 신호(SATDET)가 제 2 논리 값, 즉 "0"이라면 데이터(DATA)는 포화되지 않았음을 의미한다. 따라서 데이터(DATA)는 포화 처리 장치(400)에 의해서 유효하게 표현될 수 있으며 선택부(440)는 데이터(DATA)를 포화 처리 장치(400)의 결과(SATRST)로서 출력한다.
도 10(a)는 종래의 포화 처리 장치의 동작속도를 테스트한 결과를 나타낸 도면이다.
도 10(b)는 본 발명의 포화 처리 장치의 동작속도를 테스트한 결과를 나타낸 도면이다.
도 10(a) 및 (b)는 데이터(DATA)가 18비트이며 경계 값(BV)이 16비트인 경우에 대하여 포화 처리 장치를 구성한 것이다. 도 10(a)에는 감산(decrement) 연산, 보수(complement) 연산, 비교(compare) 연산 및 선택(mux) 연산의 동작 속도와 회로가 차지하는 면적이 나타나 있다. 도 10(b)에는 유효 비트 결정(bit decision), 포화 검출(saturation detection), 한계 값 발생(limit generation) 및 선택(mux)의 동작 속도와 회로가 차지하는 면적이 나타나 있다. 본 발명에 따른 포화 처리 장치가 회로가 차지하는 면적 면에서나 동작 속도의 면에서 더 우수한 것을 알 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 포화 처리 장치 및 포화 동작 수행 방법은 연산 결과인 데이터가 유효하게 표현될 수 있는 범위를 설계자가 가변적으로 정할 수 있는 장점이 있으며 또한 포화 처리 과정에 소비되는 시간과 전력소모를 줄일 수 있는 장점이 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 16 비트 데이터의 포화 처리 기능을 표로 나타낸 도면이다.
도 2는 포화 처리 장치의 포화 처리 기능을 소프트웨어로 구현한 예를 설명하는 도면이다.
도 3은 포화 처리 장치를 하드웨어 구성을 나타내는 블록도이다.
도 4는 본 발명에 따른 포화 처리 장치를 나타내는 블록도이다.
도 5는 도 4의 유효 비트 결정부를 나타내는 회로도이다.
도 6은 데이터가 포화되는지 여부를 판단하는 예를 나타내는 도면이다.
도 7은 도 4의 포화 검출부를 나타내는 블록도이다.
도 8은 한계 값 발생부를 나타내는 회로도이다.
도 9는 선택부의 동작을 설명하는 도면이다.
도 10(a)는 종래의 포화 처리 장치의 동작속도를 테스트한 결과를 나타낸 도면이다.
도 10(b)는 본 발명의 포화 처리 장치의 동작속도를 테스트한 결과를 나타낸 도면이다.
도 11은 본 발명의 실시예에 따른 포화 동작 수행 방법을 나타내는 플로우 차트이다.

Claims (20)

  1. 경계 값(boundary value)에 응답하여 입력되는 데이터가 포화되었는지 여부를 판단하기 위한 유효 비트에 대한 정보를 가지는 경계 값 데이터를 발생하는 유효 비트 결정부 ;
    상기 데이터를 수신하고 상기 경계 값 데이터에 응답하여 상기 데이터가 포화되었는지 여부를 판단하고, 판단 결과를 검출 신호로서 발생하는 포화 검출부 ;
    상기 경계 값 데이터에 응답하여 최대 한계 값과 최소 한계 값을 출력하는 한계 값 발생부 ; 및
    상기 데이터 및 상기 검출 신호에 응답하여 상기 데이터, 상기 최대 한계 값 및 상기 최소 한계 값 중 하나를 출력하는 선택부를 구비하고,
    상기 유효 비트는,
    상기 포화 처리 장치가 장착되는 프로세서가 K 비트의 데이터 버스를 구비하고 상기 경계 값이 으로 표현될 경우,
    상기 경계 값 데이터의 상위 K-A 비트 부분인 것을 특징으로 하는 디지털 데이터의 포화 처리 장치.
  2. 삭제
  3. 삭제
  4. 제 1항에 있어서, 상기 유효 비트 결정부는,
    상기 경계 값이 으로 표현될 경우, 상기 경계 값 데이터 중 상기 유효 비트는 제 1 논리 값으로, 상기 경계 값 데이터 중 나머지 비트는 제 2 논리 값으로 출력하는 것을 특징으로 하는 디지털 데이터의 포화 처리 장치.
  5. 제 1항에 있어서 상기 유효 비트 결정부는,
    상기 경계 값이 N 개의 비트로 이루어지며 으로 표현될 수 있는 경우,
    제 1 내지 제 N-1 논리합 수단을 구비하고
    상기 제 1 논리합 수단은 상기 경계 값의 최하위 비트(LSB : Least Significant Bit)인 제 1 비트와 제 2 비트를 논리합하고,
    상기 제 2 내지 제 N-1 논리합 수단은,
    상기 경계 값의 제 3 내지 제 N 비트 중 대응되는 하나의 비트를 각각 수신하며, 수신되는 제 3 내지 제 N 비트 중 하나의 비트와 이전 논리합 수단의 출력을 논리합하며,
    상기 경계 값의 제 1 비트가 상기 경계 값 데이터의 최하위 비트인 제 1 비트로서 발생되고, 상기 제 1 내지 제 N-1 논리합 수단의 출력이 각각 상기 경계 값 데이터의 제 2 내지 제 N 비트로서 발생되는 것을 특징으로 하는 디지털 데이터의 포화 처리 장치.
  6. 제 1항에 있어서, 상기 포화 검출부는,
    입력되는 상기 데이터의 비트들 중 상기 경계 값 데이터의 유효 비트에 대응되는 상위 비트들을 추출하여 상기 데이터가 포화되었는지 여부를 판단하며,
    상기 데이터의 최상위 비트가 제 1 논리 값인 경우, 상기 경계 값 데이터의 유효 비트에 대응되는 상기 데이터의 비트들 중 하나의 비트라도 제 2 논리 값이면 상기 데이터가 포화된 것으로 판단하며,
    상기 데이터의 최상위 비트가 제 2 논리 값인 경우, 상기 경계 값 데이터의 유효 비트에 대응되는 상기 데이터의 비트들 중 하나의 비트라도 제 1 논리 값이면 상기 데이터가 포화된 것으로 판단하는 것을 특징으로 하는 디지털 데이터의 포화 처리 장치.
  7. 제 1항에 있어서, 상기 검출 신호는,
    상기 데이터가 포화되면 제 1 논리 값을 가지며 상기 데이터가 포화되지 않으면 제 2 논리 값을 가지는 것을 특징으로 하는 디지털 데이터의 포화 처리 장치.
  8. 제 1항에 있어서, 상기 포화 검출부는,
    상기 데이터가 M 개의 비트로 구성되는 경우,
    최하위 비트인 제 1 비트 내지 제 M-1 비트의 논리 값을 반전시키는 제 1 내지 제 M-1 인버터들 ;
    상기 데이터의 제 1 내지 제 M-1 비트 중 대응되는 비트 및 상기 대응되는 비트의 반전 논리 값을 수신하고 상기 경계 값 데이터의 대응되는 비트를 수신하여 제 1 내지 제 M-1 양수 값 검출 신호 및 제 1 내지 제 M-1 음수 값 검출 신호를 발생하는 제 1 내지 제 M-1 검출 신호 발생부 ;
    상기 제 1 내지 제 M-1 음수 값 검출 신호를 논리합 하여 제 1 신호를 출력하는 음수 논리합 수단 ;
    상기 제 1 내지 제 M-1 양수 값 검출 신호를 논리합 하여 제 2 신호를 출력하는 양수 논리합 수단 ; 및
    상기 데이터의 최상위 비트가 제 1 논리 값이면 상기 제 1 신호를 상기 검출 신호로서 출력하고 상기 데이터의 최상위 비트가 제 2 논리 값이면 상기 제 2 신호를 상기 검출 신호로서 출력하는 선택 수단을 구비하는 것을 특징으로 하는 디지털 데이터의 포화 처리 장치.
  9. 제 8항에 있어서, 상기 제 1 내지 제 M-1 검출 신호 발생부는 각각,
    상기 데이터의 제 1 내지 제 M-1 비트 중 대응되는 비트와 상기 경계 값 데이터의 대응되는 비트를 논리곱 하여 상기 양수 값 검출 신호를 발생하는 양의 논리곱 수단 ; 및
    상기 데이터의 제 1 내지 제 M-1 비트 중 대응되는 비트의 반전 논리 값과 상기 경계 값 데이터의 대응되는 비트를 논리곱 하여 상기 음수 값 검출 신호를 발생하는 음의 논리곱 수단을 구비하는 것을 특징으로 하는 디지털 데이터의 포화 처리 장치.
  10. 제 1항에 있어서, 상기 최대 한계 값은,
    상기 경계 값 데이터를 반전(inversion)한 값이며, 상기 최소 한계 값은 상기 경계 값 데이터와 동일한 값인 것을 특징으로 하는 디지털 데이터의 포화 처리 장치.
  11. 삭제
  12. 제 1항에 있어서, 상기 선택부는,
    상기 데이터의 최상위 비트가 제 1 논리 값이고 상기 검출 신호가 제 1 논리 값이면 최소 한계 값을 출력하고, 상기 데이터의 최상위 비트가 제 2 논리 값이고 상기 검출 신호가 제 1 논리 값이면 최대 한계 값을 출력하며,
    상기 검출 신호가 제 2 논리 값이면 상기 데이터를 출력하는 것을 특징으로 하는 디지털 데이터의 포화 처리 장치.
  13. 입력되는 데이터가 포화되었는지 여부를 판단하는 포화 처리 장치의 포화 동작 수행 방법에 있어서,
    (a) 경계 값(boundary value)에 응답하여 상기 데이터가 포화되었는지 여부를 판단하기 위한 유효 비트에 대한 정보를 가지는 경계 값 데이터를 발생하는 단계 ;
    (b) 상기 경계 값 데이터에 응답하여 상기 데이터가 포화되었는지 여부를 판단하는 검출 신호를 발생하는 단계 ;
    (c) 상기 경계 값 데이터에 응답하여 최대 한계 값과 최소 한계 값을 발생하는 단계 ; 및
    (d) 상기 데이터 및 상기 검출 신호에 응답하여 상기 데이터, 상기 최대 한계 값 및 상기 최소 한계 값 중 하나를 출력하는 단계를 구비하고,
    상기 유효 비트는,
    상기 포화 처리 장치가 장착되는 프로세서가 K 비트의 데이터 버스를 구비하고 상기 경계 값이 으로 표현될 경우,
    상기 경계 값 데이터의 상위 K-A 비트 부분인 것을 특징으로 하는 포화 처리 장치의 포화 동작 수행 방법.
  14. 삭제
  15. 삭제
  16. 제 13항에 있어서, 상기 경계 값 데이터는,
    상기 경계 값이 으로 표현될 경우, 상기 경계 값 데이터 중 상기 유효 비트는 제 1 논리 값으로, 상기 경계 값 데이터 중 나머지 비트는 제 2 논리 값으로 출력되는 것을 특징으로 하는 포화 처리 장치의 포화 동작 수행 방법.
  17. 제 13항에 있어서 상기 (a) 단계는,
    상기 경계 값이 N 개의 비트로 이루어지며 으로 표현될 수 있는 경우,
    (a1) 상기 경계 값의 최하위 비트(LSB : Least Significant Bit)인 제 1 비트와 제 2 비트를 논리합 하여 상기 경계 값의 제 1 비트는 상기 경계 값 데이터의 최하위 비트인 제 1 비트로서 출력하고, 상기 논리합 결과는 상기 경계 값 데이터의 제 2 비트로서 출력하는 단계 ; 및
    (a2) 전 단계의 논리합 결과와 상기 경계 값의 대응되는 비트를 논리합 하여 상기 경계 값 데이터의 제 2 내지 제 N 비트를 출력하는 단계를 구비하는 것을 특징으로 하는 포화 처리 장치의 포화 동작 수행 방법.
  18. 제 13항에 있어서, 상기 (b) 단계는,
    입력되는 상기 데이터의 비트들 중 상기 경계 값 데이터의 유효 비트에 대응되는 상위 비트들을 추출하여 상기 데이터가 포화되었는지 여부를 판단하며,
    상기 데이터의 최상위 비트가 제 1 논리 값인 경우, 상기 경계 값 데이터의 유효 비트에 대응되는 나머지 유효 비트 중 하나의 비트라도 제 2 논리 값이면 상기 데이터가 포화된 것으로 판단하며,
    상기 데이터의 최상위 비트가 제 2 논리 값인 경우, 상기 경계 값 데이터의 유효 비트에 대응되는 나머지 유효 비트 중 하나의 비트라도 제 1 논리 값이면 상기 데이터가 포화된 것으로 판단하는 것을 특징으로 하는 포화 처리 장치의 포화 동작 수행 방법.
  19. 삭제
  20. 제 13항에 있어서, 상기 (d) 단계는,
    상기 데이터의 최상위 비트가 제 1 논리 값이고 상기 검출 신호가 제 1 논리 값이면 최소 한계 값을 출력하고, 상기 데이터의 최상위 비트가 제 2 논리 값이고 상기 검출 신호가 제 1 논리 값이면 최대 한계 값을 출력하며,
    상기 검출 신호가 제 2 논리 값이면 상기 데이터를 출력하는 것을 특징으로 하는 포화 처리 장치의 포화 동작 수행 방법.
KR10-2003-0012042A 2003-02-26 2003-02-26 디지털 데이터의 포화 처리 장치 Expired - Fee Related KR100493053B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR10-2003-0012042A KR100493053B1 (ko) 2003-02-26 2003-02-26 디지털 데이터의 포화 처리 장치
US10/778,070 US20040167949A1 (en) 2003-02-26 2004-02-17 Data saturation manager and corresponding method
JP2004051259A JP2004259282A (ja) 2003-02-26 2004-02-26 デジタルデータの飽和処理装置
CNB2004100352149A CN100530076C (zh) 2003-02-26 2004-02-26 数据饱和管理器及相应方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0012042A KR100493053B1 (ko) 2003-02-26 2003-02-26 디지털 데이터의 포화 처리 장치

Publications (2)

Publication Number Publication Date
KR20040076707A KR20040076707A (ko) 2004-09-03
KR100493053B1 true KR100493053B1 (ko) 2005-06-02

Family

ID=32866967

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0012042A Expired - Fee Related KR100493053B1 (ko) 2003-02-26 2003-02-26 디지털 데이터의 포화 처리 장치

Country Status (4)

Country Link
US (1) US20040167949A1 (ko)
JP (1) JP2004259282A (ko)
KR (1) KR100493053B1 (ko)
CN (1) CN100530076C (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060095713A1 (en) * 2004-11-03 2006-05-04 Stexar Corporation Clip-and-pack instruction for processor
GB2580130B (en) * 2018-12-21 2021-02-24 Graphcore Ltd Overflow condition

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4722066A (en) * 1985-07-30 1988-01-26 Rca Corporation Digital signal overflow correction apparatus
US5422805A (en) * 1992-10-21 1995-06-06 Motorola, Inc. Method and apparatus for multiplying two numbers using signed arithmetic
US5448509A (en) * 1993-12-08 1995-09-05 Hewlett-Packard Company Efficient hardware handling of positive and negative overflow resulting from arithmetic operations
US5959636A (en) * 1996-02-23 1999-09-28 Intel Corporation Method and apparatus for performing saturation instructions using saturation limit values
US5835782A (en) * 1996-03-04 1998-11-10 Intel Corporation Packed/add and packed subtract operations
US5870320A (en) * 1997-06-23 1999-02-09 Sun Microsystems, Inc. Method for reducing a computational result to the range boundaries of a signed 16-bit integer in case of overflow
US6341296B1 (en) * 1998-04-28 2002-01-22 Pmc-Sierra, Inc. Method and apparatus for efficient selection of a boundary value
US6529930B1 (en) * 1998-11-16 2003-03-04 Hitachi America, Ltd. Methods and apparatus for performing a signed saturation operation
US6499046B1 (en) * 1999-05-20 2002-12-24 International Business Machines Corporation Saturation detection apparatus and method therefor

Also Published As

Publication number Publication date
CN100530076C (zh) 2009-08-19
CN1530823A (zh) 2004-09-22
KR20040076707A (ko) 2004-09-03
JP2004259282A (ja) 2004-09-16
US20040167949A1 (en) 2004-08-26

Similar Documents

Publication Publication Date Title
US5862065A (en) Method and circuit for fast generation of zero flag condition code in a microprocessor-based computer
CA1311848C (en) Apparatus and method for floating point normalization prediction
KR20080055985A (ko) 선택가능 준정밀도를 가진 부동―소수점 프로세서
EP0530372A1 (en) Numerical expression converter and vector processor using the same
US6178435B1 (en) Method and system for performing a power of two estimation within a data processing system
US7143126B2 (en) Method and apparatus for implementing power of two floating point estimation
US4941119A (en) Method and apparatus for predicting an overflow in an integer multiply
US6182100B1 (en) Method and system for performing a logarithmic estimation within a data processing system
JP2001005643A (ja) 累乗演算装置
KR100493053B1 (ko) 디지털 데이터의 포화 처리 장치
US20040167954A1 (en) Overflow detection system for multiplication
US6151612A (en) Apparatus and method for converting floating point number into integer in floating point unit
US6629118B1 (en) Zero result prediction
JPH05241787A (ja) 算術演算におけるスティッキイ・ビット値の判別装置
KR19980043591A (ko) 정보 보호용 모듈러 승산 장치
US6411975B1 (en) Digital processing
US6683530B1 (en) Method and apparatus for performing a floating point compare operation
Deepak et al. Seek-method based 2’s complement circuit for low power circuit and high-speed operation
KR100192968B1 (ko) 라운딩 오프 에러를 최소화하기 위한 라운딩 장치
JPH113210A (ja) 3入力比較器、並びにこれを用いた飽和演算装置およびその演算方法
KR100241066B1 (ko) 단일명령사이클에서의 A+sin(A)식의 연산
KR0175357B1 (ko) 고속화를 위한 연산기의 오버플로우 검출회로
JP3530418B2 (ja) 乗算装置
KR100196520B1 (ko) 면적 개선을 위한 2의보수 변환 장치
KR100241074B1 (ko) 단일명령사이클에서의 A-sin(A)식의 연산

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

FPAY Annual fee payment

Payment date: 20080502

Year of fee payment: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20090526

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20090526

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000