KR20060080381A - 프로세서의 산술 연산 방법 및 장치 - Google Patents

프로세서의 산술 연산 방법 및 장치 Download PDF

Info

Publication number
KR20060080381A
KR20060080381A KR1020050000758A KR20050000758A KR20060080381A KR 20060080381 A KR20060080381 A KR 20060080381A KR 1020050000758 A KR1020050000758 A KR 1020050000758A KR 20050000758 A KR20050000758 A KR 20050000758A KR 20060080381 A KR20060080381 A KR 20060080381A
Authority
KR
South Korea
Prior art keywords
result
value
bit
processor
word length
Prior art date
Application number
KR1020050000758A
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 KR1020050000758A priority Critical patent/KR20060080381A/ko
Priority to US11/317,108 priority patent/US20060161613A1/en
Publication of KR20060080381A publication Critical patent/KR20060080381A/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
    • DTEXTILES; PAPER
    • D05SEWING; EMBROIDERING; TUFTING
    • D05CEMBROIDERING; TUFTING
    • D05C7/00Special-purpose or automatic embroidering machines
    • D05C7/08Special-purpose or automatic embroidering machines for attaching cords, tapes, bands, or the like
    • DTEXTILES; PAPER
    • D05SEWING; EMBROIDERING; TUFTING
    • D05BSEWING
    • D05B35/00Work-feeding or -handling elements not otherwise provided for
    • D05B35/06Work-feeding or -handling elements not otherwise provided for for attaching bands, ribbons, strips, or tapes or for binding
    • 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5324Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers

Landscapes

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

Abstract

본 발명은 프로세서의 산술 연산 방법 및 장치에 관한 것이다. 본 발명은 프로세서의 처리 가능한 워드 길이보다 큰 길이의 워드 길이를 갖는 오퍼랜드간 연산 처리 방법에 있어, 상기 오퍼랜드(A,B)를 상위(AH,BH) 및 하위 비트(AL,BL)로 분리하는 단계와, 상기 분리된 상위 및 하위 비트 각각에 대해 산술 연산을 수행하고, 상기 수행 결과를 비트 오어 연산하는 단계를 포함하여 이루어지는 프로세서의 산술 연산 방법을 제공한다. 따라서, 본 발명에 의하면, 프로세서가 처리 가능한 워드 길이보다 큰 워드 길이를 갖는 오퍼랜드에 대한 연산을 효율적으로 처리하는 효과가 있다.
ALU, 산술 연산, 오퍼랜드, DMB

Description

프로세서의 산술 연산 방법 및 장치{Arithmetic method and apparatus for processor}
도 1은 본 발명에 따른 산술 연산 장치의 구성을 개략적으로 나타낸 도면
도 2는 본 발명에 따른 오퍼랜드의 덧셈 처리 방법을 나타낸 플로우 챠트
도 3은 본 발명에 따른 오퍼랜드의 뺄셈 처리 방법을 나타낸 플로우 챠트
도 4는 본 발명에 따른 오퍼랜드의 곱셈 처리 방법을 나타낸 플로우 챠트
- 도면의 주요부분에 대한 부호의 설명 -
10 : 오퍼랜드 버퍼 1 20 : 오퍼랜드 버퍼 2
30 ; ALU 40 : 누산기
50 : 메모리
본 발명은 프로세서의 산술 연산에 관한 것으로, 보다 상세하게는 오퍼랜드의 워드 길이가 프로세서의 워드 길이보다 큰 경우에 대한 오퍼랜드간 연산 방법 및 장치에 관한 것이다.
프로세서(Processor)는 디지털 신호 처리에 있어 핵심적인 역할을 수행한다. 더욱이, 영상과 음성, 문자 등 거의 모든 정보가 디지털로 변경되어 처리되는 디지털 시대에 있어서 상기 프로세서의 수요는 더욱 많아지고 보다 다양한 역할이 기대되고 있다.
상기 프로세서는 범용 CPU의 역할을 하는 범용 마이크로 프로세서(RISC : Reduced Instruction Set Computer)와 특정 디지털 신호 처리에 보다 특화된 DSP(Digital signal Processor) 프로세서로 구별해 볼 수 있으나, 프로세서의 구조로서 ALU(Arithmetic and Logic Unit), 주소 생성기(Address generator), 메모리, 버스, 시퀀서, 주변장치 등의 요소를 공통으로 갖는다.
여기서 상기 ALU는 프로세서의 핵심 부분으로, 디지털 신호 처리를 위한 가장 근본적인 단위의 연산이 수행되는 곳이다.
상기 ALU 연산은 일반적으로 파이프 라인(Pipeline) 구조로 되어 있어서 동작 주파수의 한 사이클 당 한번씩 연산 결과를 얻을 수 있게 된다. 이때, 프로세서에서 워드 길이(Word length)는 신호의 bit resolution에 해당하는 중요한 요소이다.
즉, 프로세서의 워드 길이가 정해지면 오퍼랜드(operand)나 ALU 연산의 결과가 메모리에 저장되는 값이 같은 워드 길이의 값으로만 처리될 수 있고, 정해진 워드 길이를 넘는 데이터에 대해서는 truncation이나 rounding하여 bit resolution을줄이거나 saturation하여 값을 한정시킬 수 밖에 없게 된다.
이러한 방법은 분명 정보의 손실을 가져오지만 보통 그 에러가 지각하기 어려운 범위내에 들 때에는 별 문제없이 사용될 수 있다.
그러나, 엔트로피 코딩(entropy coding)의 경우는 무손실 코딩(lossless coding)이므로 한 비트의 값이라도 잘못 처리되면 제대로 인코딩(encoding)이나 디코딩(decoding)을 수행할 수 없게 된다. 따라서, 엔트로피 코딩을 처리하기 위해서는 오퍼랜드의 워드 길이가 프로세서의 워드 길이보다 크더라도 비트값을 가감없이 그대로 보존하면서 ALU 연산을 해주어야 하는 것이다.
특히, 지상파 DMB(Digital Multimedia Broadcasting)의 오디오 표준으로 선정된 BSAC(Bit Sliced Arithmetic Coding) 알고리즘은 엔트로피 코딩으로 30비트 산술 코딩을 채택하고 있다. 상기 산술 연산에서는 30비트의 range와 value 값을 기준으로 인코딩 및 디코딩이 이루어지며, 이처럼 30비트 산술 코딩을 위해서는 30비트의 덧셈, 뺄셈, 곱셈의 연산이 요구된다.
이때, 상기 지상파 DMB와 같이 이동 환경에서의 디지털 신호 처리를 위해서는 배터리(battery)등의 소모 전력을 감안하여 저전력 프로세서가 요구되는데, 상기 저전력 프로세서는 가능한 적은 워드 길이와 적은 메모리 크기를 갖는 것이 중요하다.
이와 같은 요구사항은 결국 30비트 처리를 위해서 그 이상의 워드 길이를 갖는 프로세서를 채택해야하는 DMB의 요구 사항과 배치된다.
즉, 지상파 DMB와 같은 휴대용 기기의 저전력 설계가 필요한 상황에서 단지 몇개의 30비트 연산이 필요하다고 하여 30비트 이상의 프로세서를 사용하기는 힘든 것이다.
따라서, 16비트나 24비트 프로세서로도 30비트 산술 연산을 효율적으로 처리 해야할 필요성이 대두되었다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 프로세서의 워드 길이보다 큰 워드 길이를 갖는 오퍼랜드들간의 연산을 효율적으로 구현하는 프로세서의 산술 연산 방법 및 장치를 제공하는데 있다.
상기 목적을 달성하기 위하여, 본 발명은 프로세서의 처리 가능한 워드 길이보다 큰 길이의 워드 길이를 갖는 오퍼랜드간 연산 처리 방법에 있어, 상기 오퍼랜드(A,B)를 상위(AH,BH) 및 하위 비트(AL,BL)로 분리하는 단계와, 상기 분리된 상위 및 하위 비트 각각에 대해 산술 연산을 수행하고, 상기 수행 결과를 비트 오어 연산하는 단계를 포함하여 이루어지는 프로세서의 산술 연산 방법을 제공한다.
상기 분리된 오퍼랜드는 상기 프로세서의 처리 가능한 워드 길이 범위 내인 것을 특징으로 한다.
본 발명은, 프로세서의 처리 가능한 워드 길이보다 큰 길이의 워드 길이를 갖는 오퍼랜드간 연산 처리 장치에 있어, 상기 오퍼랜드가 상위 및 하위 비트로 분리되어 저장된 메모리와, 상기 분리된 상위 및 하위 비트 각각에 대해 산술 연산을 수행하고, 상기 수행 결과를 비트 오어 연산하는 ALU를 포함하여 구성되는 프로세서의 산술 연산 장치를 제공한다.
상기 메모리에 상기 상위 비트의 연산 결과와 하위 비트의 연산 결과가 각각 저장되는 것을 특징으로 한다.
따라서, 본 발명에 의하면 프로세서가 처리 가능한 워드 길이보다 큰 워드 길이를 갖는 오퍼랜드에 대한 연산을 효율적으로 처리하는 효과가 있다.
이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다.
아울러, 본 발명에서 사용되는 용어는 현재 널리 사용되는 일반적인 용어를 선택하였으나, 새로운 기술의 출현에 따라 본 발명에서 출원인이 가장 적합하다고 판단한 용어도 임의로 사용하였으며, 이에 대해서는 해당 설명부에서 용어의 의미를 명확히 설명하기로 한다. 따라서, 본 발명을 이해함에 있어 단순한 용어의 명칭이 아닌 용어가 가지는 의미로서 본 발명을 파악하여야 됨을 밝혀 두고자 한다.
도 1은 본 발명에 따른 산술 연산 장치의 구성을 개략적으로 나타낸 도면이다.
도 1과 같이, 두개의 오퍼랜드(10,20)가 ALU(30)로 입력되며, 상기 ALU(30)에서 연산이 이루어진 후에는 누산기(Accmulator)(40)에 누적되거나 메모리(50)에 저장된다.
이때,상기 ALU(30)의 입력으로 들어가는 오퍼랜드는 이전 연산의 결과로부터 얻거나 메모리(50)에서 읽어온다. 상기 메모리(50)에는 내부 또는 외부 메모리가 될 수 있으며, 단일 또는 다중 메모리 구조가 가능하다. 마찬가지로 여기에 사용되는 버스도 단일 버스 또는 다중 메모리에 대응되는 다중 버스 구조가 될 수 있다.
본 발명에 따르면, 프로세서의 워드 길이보다 큰 워드 길이를 갖는 오퍼랜드 값에 대한 효율적인 연산 처리를 위해, 상기 오퍼랜드의 워드 길이를 프로세서의 워드 길이에 맞도록 분리하여 처리하게 된다. 즉, 하나의 오퍼랜드를 상위 비트 및 하위 비트로 분리하여 처리하는 것이다.
이를 예를 들어 설명하면, 30비트 연산이 필요한 30비트 워드 길이의 오퍼랜드를 24비트의 프로세서에서 처리하기 위해 상기 30비트를 상위 14비트, 하위 16비트 등으로 분리하여 처리하는 것이다. 상기 분리할 값의 범위는 상기 프로세서의 처리 가능한 워드 길이 범위 내에서 설계자에 의해 임의로 선택 가능하다.
상기 두 개의 오퍼랜드를 각각 A,B로 표시하면, A,B 오퍼랜드의 상위 비트, 하위 비트는 각각 AH, AL 및 BH, BL로 표시할 수 있다.
상기와 같이 표시되는 각각의 오퍼랜드는 도 1과 같이 메모리(50)에 상위 비트 및 하위 비트가 분리된 형태로 저장된다.
상기 저장된 각각의 오퍼랜드는 필요에 따라 읽혀져 연산 처리가 수행되는바, 상기 분리된 각각의 오퍼랜드를 이용한 덧셈, 뺄셈, 곱셈의 산술 연산 방법을 첨부한 도면을 참조하여 설명하면 다음과 같다.
도 2는 본 발명에 따른 오퍼랜드의 덧셈 처리 방법을 나타낸 플로우 챠트이다.
도 2와 같이, 먼저, 오퍼랜드 A,B를 각각 상위(AH,AL), 하위(BH,BL) 부분으로 분리하여 메모리(50)저장한다.(S10)
상기 저장된 각각의 오퍼랜드 중 AL 값과 BL 값을 오퍼랜드 버퍼(10,20)를 통해 읽어와 ALU(30)에서 그 덧셈을 수행한다. 상기 덧셈 수행 결과 오버 플로우(Overflow) 값이 발생하면 상기 오버 플로우 값은 임시 메모리에 저장한다.(S20)
이후, 상기 AH 값과 BH 값을 읽어와 ALU(30)에서 덧셈을 수행한다.(S30) 상기 AH 값과 AL 값의 더한 결과와 상기 오버 플로우 값을 ALU(30)에서 다시 더해준다.(S40)
이후, 상기 단계 20의 결과값 즉, AL+BL 값과 단계 40의 결과값을 ALU(30)에서 비트 오어(Bitwise-OR) 연산하여 출력하면 오퍼랜드 A,B 를 더한 결과가 출력된다.
도 3은 본 발명에 따른 오퍼랜드의 뺄셈 처리 방법을 나타낸 플로우 챠트이다.
도 3과 같이, 먼저 오퍼랜드 A,B를 각각 상위(AH,BH), 하위(AL,BL) 비트로 분리하여 메모리(50)에 저장한다.
상기 저장된 오퍼랜드 중 AH와 BH의 크기를 비교하여(S20), 상기 AH와 BH의 크기가 같은 경우 상기 저장된 오퍼랜드 중 AL과 BL을 읽어와 AL - BL 연산을 수행한다.(S30) 이때, AH와 BH의 크기가 같으므로 상기 AL-BL 연산의 결과가 바로 오퍼랜드 A - B의 결과가 된다.
한편, 상기 AH와 BH의 크기를 비교한 결과(S20), AH가 BH보다 큰 경우에는 오퍼랜드 A - B의 연산을 수행하기 위한 (AH + AL) - (BH + BL)의 연산을 AH - BH + AL - BL의 연산으로 수행한다.
이를 위해, 상기 AH - BH 연산을 먼저 수행한다.(S40) 상기 AH - BH 연산한 결과값을 상기 분리한 하위 비트의 수만큼 좌측으로 이동시킨 후(S50) 상기 결과값에 BL을 빼준다.(S60)
상기 단계 60의 결과값에 AL을 더해준 결과(S70)가 바로, AH가 BH보다 큰 경우 오퍼랜드 A - B 연산의 수행 결과가 된다.
한편, 상기 AH와 BH의 크기를 비교한 결과(S20), BH가 AH보다 큰 경우에는 AH - BH + AL - BL으로 계산하지 않고, BH - AH - AL + BL 값을 구한 후에 상기 결과의 반대 부호값을 취하여 최종적인 A - B 값을 얻도록 한다. 이렇게 연산하는 이유는 각각의 연산 단계에서 항상 양수값을 유지하면서 계산하기 위해서이다. 이러한 연산을 통해 sign extention으로 생기는 복잡한 문제를 해결할 수 있다.
이를 위해, 먼저 BH - AH 연산을 수행한다.(S80) 상기 BH - AH 연산한 결과값을 상기 분리한 하위 비트의 수만큼 좌측으로 이동시킨 후(S90), 상기 결과값에 BL을 더해준다.(S100)
이후, 상기 단계 100의 결과값에 AL을 뺀 후(110), 상기 결과값에 반대 부호를 취해주면(S120), 최종적으로 BH가 AH보다 큰 경우의 A - B 연산 결과값을 얻게 된다.
도 4는 본 발명에 따른 오퍼랜드의 곱셈 처리 방법을 나타낸 플로우 챠트이다.
도 4와 같이, 먼저, 오퍼랜드 A,B를 각각 상위(AH,BH), 하위(AL,BL) 비트로 분리하여 메모리(50)에 저장한다.(S10)
오퍼랜드 A * B의 연산은 (AH + AL) * (BH + BL)과 같은 식으로 표현될 수 있는바, 상기 연산을 AH * (BH + BL) + AL * (BH + BL)식으로 계산한다.
이를 위해, 상기 AH가 0이 아닌지 확인한다.(S200
상기 AH가 0인 경우에는 AL * (BH + BL)식만 계산하면 되므로, 먼저 AL * BL 연산을 ALU(30)에서 수행한다. 상기 수행 결과 오버플로우 값은 임시 메모리에 저장한다.(S30)
이후, 상기 AL과 BH를 곱해준다.(S40) 상기 단계 30에서 임시 메모리에 저장한 오버 플로우값과 상기 AL * BH 연산한 값을 더해준다.
상기 단계 30의 결과값(AL * BL)과 단계 50의 결과값을 비트 오어 연산하여 출력하면 최종적으로 AH = 0인 경우의 A * B 연산 결과가 출력된다.
한편, 상기 AH = 0이 아닌 경우(S20)에는, 상기 단계 30에서 단계 60까지의 연산 결과(AL * (BH + BL))에 AH * (BH + BL) 연산을 추가해주면 된다.
이를 위해, 상기 단계 30에서 단계 60까지의 연산을 수행한 후, 상기 단계 60의 오버플로우값을 임시 메모리에 저장해둔다.(S70)
이후, AH * BL 연산을 수행하고(S80), 상기 단계 70에서 저장한 오버플로우값과 상기 AH * BL 연산한 결과값을 더해준다.(S90) 상기 단계 90의 오버플로우 값을 임시 메모리에 저장한 후(S100), AH * BH 연산을 수행한다.(S110)
상기 단계 100에서 저장한 오버플로우값과 AH * BH 연산한 결과를 더한 연후에(S120), 상기 단계 60의 결과값과 단계 120에서의 결과값을 비트 오어 연산하여 출력함으로써 최종적으로 오퍼랜드 A * B 연산한 결과값을 출력한다.(S130)
한편, 상기 덧셈, 뺄셈, 곱셈 연산한 결과값은 다음의 연산을 위해 상위 비트 부분과 하위 비트 부분의 연산값을 분리하여 저장할 수도 있다. 즉, 상기 덧셈 연산후 뺄셈 연산을 수행하거나, 뺄셈 연산후 곱셈 연산을 수행하는 등의 경우를 대비하여, 상기 결과값을 상위 비트 부분과 하위 비트 부분으로 연산한 결과치(RH, RL)를 분리하여 메모리(50)에 저장될 수 있는 것이다.
이와 같은 연산 방법을 통해 프로세서가 16비트나 24비트 고정 소수점 프로세서인 경우 30비트 이상의 오퍼랜드에 대한 연산을 수행하게 되며, 본 발명은 범용 마이크로 프로세서나 DSP 프로세서 모두에 적용될 수 있다.
본 발명은 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가진 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다.
상기에서 설명한 본 발명에 따른 프로세서의 산술 연산 방법 및 장치의 효과를 설명하면 다음과 같다.
첫째, 프로세서가 처리 가능한 워드 길이보다 큰 워드 길이를 갖는 오퍼랜드에 대한 연산을 효율적으로 처리하는 효과가 있다.
둘째, 지상파 DMB와 같은 모바일 어플리케이션 등의 저전력 프로세서가 요구되는 어플리케이션에 유용하게 사용되는 효과가 있다.

Claims (11)

  1. 프로세서의 처리 가능한 워드 길이보다 큰 길이의 워드 길이를 갖는 오퍼랜드간 연산 처리 방법에 있어서,
    상기 오퍼랜드(A,B)를 상위(AH,BH) 및 하위 비트(AL,BL)로 분리하는 단계;
    상기 분리된 상위 및 하위 비트 각각에 대해 산술 연산을 수행하고, 상기 수행 결과를 비트 오어 연산하는 단계를 포함하여 이루어짐을 특징으로 하는 프로세서의 산술 연산 방법.
  2. 제 1 항에 있어서,
    상기 분리된 오퍼랜드는 상기 프로세서의 처리 가능한 워드 길이 범위 내인 것을 특징으로 하는 프로세서의 산술 연산 방법.
  3. 제 1 항에 있어서, 상기 산술 연산 중 덧셈 연산은,
    상기 오퍼랜드의 하위값간 덧셈을 수행하고, 발생된 오버플로우 값은 임시 메모리에 저장하는 단계;
    상기 오퍼랜드의 상위값간 덧셈을 수행하고, 상기 상위값간 덧셈의 결과값과 상기 오버플로우 값을 더하는 단계; 그리고,
    상기 결과값과 상기 하위값간 덧셈의 결과값을 비트 오어 연산하여 출력하는 단계를 포함하여 이루어짐을 특징으로 하는 프로세서의 산술 연산 방법.
  4. 제 1 항에 있어서, 상기 산술 연산 중 뺄셈 연산(A-B)은,
    (a) 상기 오퍼랜드의 상위값간 크기를 비교하여 AH가 BH보다 큰 경우 AH-BH를 수행하는 단계;
    (b) 상기 수행 결과값을 상기 하위 부분의 비트수만큼 좌측으로 이동시키는 단계;
    (c) 상기 (b) 단계의 결과값에 BL을 빼주는 단계; 그리고,
    (d) 상기 (c) 단계의 결과값에 Al을 더하는 단계를 포함하여 이루어짐을 특징으로 하는 프로세서의 산술 연산 방법.
  5. 제 4 항에 있어서, 상기 뺄셈 연산(A-B)은,
    (a) 상기 오퍼랜드의 상위값간 크기를 비교하여 BH가 AH보다 큰경우 BH-AH를 수행하는 단계;
    (b) 상기 수행 결과값을 상기 하위 부분의 비트수만큼 좌측으로 이동시키는 단계;
    (c) 상기 (b) 단계의 결과값에 BL을 더하는 단계;
    (d) 상기 (c) 단계의 결과값에 AL을 빼주는 단계; 그리고,
    상기 (d) 단계의 결과값의 부호를 반대로 취하는 단계를 포함하여 이루어짐을 특징으로 하는 프로세서의 산술 연산 방법.
  6. 제 4 항에 있어서,
    상기 뺄셈 연산(A-B)은 상기 오퍼랜드의 상위값간 크기가 같은 경우 AL-BL을 수행하는 것을 특징으로 하는 프로세서의 산술 연산 방법.
  7. 제 1 항에 있어서, 상기 산술 연산 중 곱셈(A*B) 연산은,
    (a) 상기 AH가 0인지 확인하는 단계;
    (b) 상기 AH가 0인 경우, AL*BL을 수행하고 오버 플로우값은 임시 메모리에 저장하는 단계;
    (c) 상기 AL과 BH를 곱하는 단계;
    (d) 상기 오버플로우값과 상기 AL*BH 결과값을 더하는 단계;
    (e) 상기 단계 (b)의 AL*BL한 결과값과 상기 단계 (d)의 결과값을 비트 오어 연산하여 출력하는 단계를 포함하여 이루어짐을 특징으로 하는 프로세서의 산술 연산 방법.
  8. 제 7 항에 있어서, 상기 AH가 0인 경우 곱셈 연산은,
    (f) 상기 단계 (b)에서 단계 (e)를 수행하고, 상기 단계 (e)의 오버 플로우값을 임시 메모리에 저장하는 단계;
    (g) 상기 AH와 BH를 곱하는 단계;
    (h) 상기 단계 (f)의 오버 플로우값과 상기 단계 (g)의 결과값을 더하는 단계;
    (i) 상기 단계 (h)의 오버 플로우값을 임시 메모리에 저장하고, 상기 AH와 BH를 곱하는 단계;
    (j) 상기 (i) 단계의 오버 플로우값과 AH*BH 결과값을 더하는 단계;
    (k) 상기 단계 (e)의 결과값과 단계 (j)의 결과값을 비트 오어 연산하여 출력하는 단계를 포함하여 이루어짐을 특징으로 하는 산술 연산 방법.
  9. 제 1 항에 있어서,
    상기 상위 비트의 연산 결과와 하위 비트의 연산 결과가 각각 메모리에 저장되는 것을 특징으로 하는 산술 연산 방법.
  10. 프로세서의 처리 가능한 워드 길이보다 큰 길이의 워드 길이를 갖는 오퍼랜드간 연산 처리 장치에 있어서,
    상기 오퍼랜드오퍼랜드및 하위 비트로 분리되어 저장된 메모리;
    상기 분리된 상위 및 하위 비트 각각에 대해 산술 연산을 수행하고, 상기 수행 결과를 비트 오어 연산하는 ALU를 포함하여 구성됨을 특징으로 하는 프로세서의 산술 연산 장치.
  11. 제 10 항에 있어서,
    상기 메모리에 상기 상위 비트의 연산 결과와 하위 비트의 연산 결과가 각각 저장되는 것을 특징으로 하는 산술 연산 방법.
KR1020050000758A 2005-01-05 2005-01-05 프로세서의 산술 연산 방법 및 장치 KR20060080381A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050000758A KR20060080381A (ko) 2005-01-05 2005-01-05 프로세서의 산술 연산 방법 및 장치
US11/317,108 US20060161613A1 (en) 2005-01-05 2005-12-22 Method and apparatus for arithmatic operation of processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050000758A KR20060080381A (ko) 2005-01-05 2005-01-05 프로세서의 산술 연산 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20060080381A true KR20060080381A (ko) 2006-07-10

Family

ID=36685240

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050000758A KR20060080381A (ko) 2005-01-05 2005-01-05 프로세서의 산술 연산 방법 및 장치

Country Status (2)

Country Link
US (1) US20060161613A1 (ko)
KR (1) KR20060080381A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9875083B2 (en) 2014-08-05 2018-01-23 Imagination Technologies Limited Performing a comparison computation in a computer system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447310B2 (en) * 2002-08-06 2008-11-04 The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University Lean multiplication of multi-precision numbers over GF(2m)

Also Published As

Publication number Publication date
US20060161613A1 (en) 2006-07-20

Similar Documents

Publication Publication Date Title
US6009451A (en) Method for generating barrel shifter result flags directly from input data
US5991785A (en) Determining an extremum value and its index in an array using a dual-accumulation processor
US20120059866A1 (en) Method and apparatus for performing floating-point division
US6647484B1 (en) Transpose address mode in general purpose DSP processor
TWI493453B (zh) 提高精確度積和演算之微處理器及其視頻解碼裝置、其方法及其電腦程式產品
US6038675A (en) Data processing circuit
US9170771B2 (en) Residue-based error detection for a processor execution unit that supports vector operations
JP4921310B2 (ja) 命令ビット長削減方法
CN110688153B (zh) 一种指令分支执行控制方法及相关设备、指令结构
US8117422B2 (en) Fast address translation for linear and circular modes
JP2000322235A (ja) 情報処理装置
US20040128335A1 (en) Fast fourier transform (FFT) butterfly calculations in two cycles
KR20060080381A (ko) 프로세서의 산술 연산 방법 및 장치
TWI520053B (zh) 硬體整數飽和偵測器、偵測飽和的方法、偵測飽和的硬體裝置
CN109478199B (zh) 分段线性逼近的系统及方法
US6615228B1 (en) Selection based rounding system and method for floating point operations
EP3118737B1 (en) Arithmetic processing device and method of controlling arithmetic processing device
EP1237070A2 (en) Denormalization circuit
JP3336986B2 (ja) 信号処理プロセッサ及びそれに用いる丸め機能付き積和演算器
JP2001043067A (ja) 演算装置
KR20050040724A (ko) 연산 처리 장치
JP2006155102A (ja) 演算処理装置
US9747074B2 (en) Division circuit and microprocessor
CN112862086A (zh) 一种神经网络运算处理方法、装置及计算机可读介质
JP3551291B2 (ja) シリアル数値演算装置

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
B601 Maintenance of original decision after re-examination before a trial
E801 Decision on dismissal of amendment
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20070627

Effective date: 20080215