KR100556568B1 - 승산방법및승산회로 - Google Patents

승산방법및승산회로 Download PDF

Info

Publication number
KR100556568B1
KR100556568B1 KR1019980011434A KR19980011434A KR100556568B1 KR 100556568 B1 KR100556568 B1 KR 100556568B1 KR 1019980011434 A KR1019980011434 A KR 1019980011434A KR 19980011434 A KR19980011434 A KR 19980011434A KR 100556568 B1 KR100556568 B1 KR 100556568B1
Authority
KR
South Korea
Prior art keywords
multiplication
shift
rounding
signal
bit
Prior art date
Application number
KR1019980011434A
Other languages
English (en)
Other versions
KR19980080981A (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 KR19980080981A publication Critical patent/KR19980080981A/ko
Application granted granted Critical
Publication of KR100556568B1 publication Critical patent/KR100556568B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • 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
    • 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
    • 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/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49963Rounding to nearest

Landscapes

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

Abstract

승수와 피승수를 승산수단으로 승산하고, 그 승산결과를 가산수단에서 반올림신호 발생수단으로부터 출력되는 반올림신호와 가산하며, 그 가산결과인 반올림처리후의 승산결과를 레지스터에 저장한다. 이 레지스터에 저장된 반올림처리후의 승산결과는, 배럴시프터(barrel shifter)에 의하여 시프트비트수(shift bit 數)의 신호가 나타내는 비트수만큼 시프트되고, 시프트결과 저장레지스터에 출력된다. 명령제어수단이 출력하는 시프트비트수 신호는, 배럴시프터와 반올림신호 생성수단에 입력된다. 반올림신호 생성수단이 반올림처리후의 승산결과를 시프트시키는 비트수를 나타내는 시프트비트수 신호를 근거로 하여 반올림신호를 생성하며, 이 반올림신호를 사용하여 가산수단에 의해 반올림처리를 하는 것에 의해, 사용자가 소망하는 적절한 위치로의 반올림처리를 실현할 수 있다.

Description

승산방법 및 승산회로
본 발명은 화상, 음성분야의 디지털신호처리 등에 사용되는 고정소수점방식의 승산명령을 실행하기 위한 승산방법 및 승산회로에 관한 것이다.
도 9는 종래의 반올림기능을 갖춘 승산명령에 있어서의 승산방법을 나타내는 개념도이다.
이 종래의 승산방법은, 승수(901)와 피승수(902)의 승산에 의해 얻어지는 승산결과(903)에 대하여, 반올림처리를 하는 소정의 반올림위치(905)에, 반올림신호(906)로서 1을 더하여 반올림처리를 한 후, 반올림위치(905) 이하의 비트범위(908)를 버린 것을, 반올림처리를 실시한 승산결과(907)로 하는 것이다.
그러나 도 9에 나타낸 종래예와 같이, 반올림처리를 필요로 하는 승산을 실행할 때에, 뒤따르는 처리에 있어서 그 승산결과(907)를 어떻게 사용하는 가에 관계없이, 일률적으로 소정의 반올림위치(905)에 1을 가산하는 방법에서는, 소정의 반올림위치(905) 이하의 비트범위(908)가 승산결과로서 무의미하게 되어 버린다. 이 때문에 승산결과(903)의 하위로부터 m번째 비트를 소정의 반올림위치(905)로 하면, 반올림처리를 실시한 승산결과(907)로서 잘라내는 비트범위가 승산결과(903) 중 하위로부터 m+1번째 비트를 최하위 비트로 한 상위비트 부분에 한정되어 버린다.
이 때문에 예컨대 승수와 피승수의 소수점위치가 가변이고, 이들의 승산에 의하여 얻어지는 승산결과의 소수점 이하에 반올림처리를 실시한 후, 정수비트만을 잘라내려는 경우에는, 승산에 의해 얻어지는 승산결과의 소수점위치가 승수와 피승수의 소수점위치에 따라 변동하므로, 승산명령을 실행하는 사용자는 소정의 반올림위치(905)가 소수점이하를 반올림하기 위한 적절한 반올림위치가 되도록 미리 승수 혹은 피승수에 대하여 시프트연산을 행하여 두거나(예컨대 특개평5-224888호 공보참조), 혹은 승산을 반올림처리하지 않고 실시하고, 새롭게 승산결과의 소수점이하에 대하여 반올림처리를 할 필요가 있다.
이상과 같이, 종래의 승산방법에서는 승산명령을 실행하는 사용자는 반올림처리를 실시한 승산결과(907)를, 잘라내려는 비트범위로 하기 위하여, 소정의 반올림위치(905)가 적절한 반올림위치가 되도록, 미리 승수 혹은 피승수에 대하여 시프트연산을 하여 두거나 혹은 승산을 반올림처리하지 않고 실시한 후, 그 승산결과의 잘라내려는 비트범위에 따라서 새롭게 가산처리와 같은 반올림처리를 행할 필요가 있어 처리량이 증대한다는 문제가 있다.
본 발명의 목적은 처리량을 증대시키지 않고, 반올림처리가 실시된 승산결과를 사용하는 처리에 대하여, 사용자가 소망하는 적절한 반올림위치에서의 반올림처리를 실현할 수 있는 승산방법 및 승산회로를 제공하는 것이다.
본 발명의 승산방법은 승산명령에 의하여 얻어지는 승수와 피승수를 승산하는 승산처리와, 승산처리에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트와 기준잘라냄 비트범위의 최하위비트의 차에 대응한 시프트비트수 신호를 기초로, 승산처리에 의한 승산결과가 임의잘라냄 비트범위의 최하위비트의 인접하는 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하는 반올림신호 생성처리와, 승산처리에 의한 승산결과와 반올림신호를 가산하는 것에 의해 반올림처리후의 승산결과를 작성하는 가산처리와, 시프트비트수 신호가 나타내는 시프트비트수 만큼 반올림처리후의 승산결과를 시프트시키는 것에 의해 반올림처리후의 승산결과를 임의잘라냄 비트범위로 잘라내도록 하는 시프트처리를 포함하고 있다.
이 승산방법에 의하면, 반올림처리후의 승산결과를 시프트시키는 비트수에 따른 시프트비트수 신호를 기초로 생성된 반올림신호를 사용하여 반올림처리를 실시하는 것에 의해 시프트처리에 의해 잘려지는 비트범위로, 반올림처리에 의해 승산결과로서는 의미가 없게 된 비트가 포함되는 일이 없고, 반올림처리가 실시된 승산결과를 사용하는 처리에 대하여 사용자가 소망하는 적절한 반올림위치에서의 반올림처리를 실현할 수 있다. 또한, 종래와 같이 미리 승수 혹은 피승수에 대하여 시프트연산을 하거나, 승산을 반올림처리하지 않고 행한 후, 그 승산결과의 잘라내려는 비트범위에 따라서 새롭게 반올림처리를 할 필요가 없으므로 처리량의 증대를 방지할 수 있다. 또, 가산처리에 의하여 작성된 반올림처리 후의 승산결과를, 시프트시켜 잘라낸 것을 반올림처리가 실시된 승산결과라 한다.
또한, 본 발명의 승산방법은 부분곱생성 및 부분곱가산에 의해 승산처리를 하는 승산방법으로서, 승산처리에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트와 기준잘라냄 비트범위의 최하위비트의 차에 대응한 시프트비트수 신호를 기초로, 상기 승산처리에 의한 승산결과 임의잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하는 반올림신호 생성처리와, 승산명령에 의해 얻어지는 승수와 피승수의 부분곱을 생성하는 부분곱 생성처리와, 부분곱 생성처리에 의해 생성된 전체의 부분곱과 상기 반올림신호를 가산하는 것에 의해 반올림처리후의 승산결과를 작성하는 가산처리와, 시프트비트수 신호가 나타내는 시프트비트수 만큼 상기 반올림처리후의 승산결과를 시프트시키는 것에 의해 상기 반올림처리후의 승산결과를 상기 임의잘라냄 비트범위로 잘라내는 시프트처리를 포함한 것을 특징으로 한다.
이 승산방법에 의하면, 반올림처리후의 승산결과를 시프트시키는 비트수에 따른 시프트비트수 신호를 기초로 생성된 반올림신호를 사용하여 반올림처리를 실시하는 것에 의해, 시프트처리에 의해 잘라내는 비트범위에, 반올림처리에 의한 승산결과로서는 의미가 없게 된 비트가 포함되는 일이 없고, 반올림처리가 실시된 승산결과를 사용하는 처리에 대하여, 사용자가 소정의 적절한 반올림위치에서의 반올림처리를 실현할 수 있다. 또, 종래와 같이 먼저 승수 혹은 피승수에 대하여 시프트연산을 실시하거나, 승산을 반올림처리없이 한 후, 그 승산결과의 잘라내려는 비트범위에 따라서, 새롭게 반올림처리를 실시할 필요가 없으므로, 처리량의 증대를 방지할 수 있다. 더욱이, 부분곱 생성처리 및 가산처리로 이루어지는 승산처리 중에, 반올림처리를 포함하여 실시하는 것에 의해, 처리의 고속화 및 처리회로 규모의 저감을 실현할 수 있다.
또, 시프트비트수 신호는 일시 보존된 후에 반올림신호 생성처리 및 시프트처리에 사용하여도 좋다. 이것에 의해, 시프트비트수 신호의 설정을 승산명령보다 이전에 별도의 명령으로 먼저 하면 좋고, 승산명령에서 실시할 필요는 없어, 명령코드길이의 증가를 회피할 수 있다.
더욱이, 일시 보존된 시프트비트수 신호와 영(零)비트를 나타내는 영신호 중 한쪽을 선택하여 반올림신호 생성처리 및 시프트처리에 사용하고, 영신호를 선택하여 사용한 때에는, 반올림신호 생성처리에서는 승산처리에 의한 승산결과의 기준잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하고, 시프트처리에서는 반올림처리후의 승산결과의 시프트를 하지 않도록 하여도 좋다. 이것에 의해, 영신호를 선택하여 사용한 때에는, 미리 설정된 고정위치를 반올림위치로 하는 반올림처리를 실시하고, 시프트처리를 하지 않는 종래의 승산방법을 하는 것도 가능하다.
본 발명의 승산회로는 승산명령에 의해 얻어지는 승수와 피승수를 입력하고 그 승산결과를 출력하는 승산수단과, 승산수단에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트와 기준잘라냄 비트범위의 최하위비트의 차에 대응한 시프트비트수 신호를 기초로, 승산수단에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하는 반올림신호 생성수단과, 승산수단에 의한 승산결과와 반올림신호 생성수단에 의해 생성된 반올림신호를 가산하는 것에 의해 반올림처리후의 승산결과를 작성하는 가산수단과, 시프트비트수 신호가 나타내는 시프트비트수 만큼 가산수단이 작성한 반올림처리후의 승산결과를 시프트시켜 반올림처리후의 승산결과를 임의잘라냄 비트범위에서 잘라내도록 하는 시프트수단을 구비하고 있다.
이 구성에 의하면, 반올림처리후의 승산결과를 시프트시키는 비트수에 따른 시프트비트수 신호를 기초로 생성된 반올림신호를 사용하여 반올림처리를 실시하는 것에 의해, 시프트수단이 잘라내는 비트범위에, 반올림처리에 의해 승산결과로서는 의미가 없게 된 비트가 포함되지 않고, 반올림처리가 실시된 승산결과를 사용하는 처리에 대하여, 사용자가 소망하는 적절한 반올림위치에서의 반올림처리를 실현할 수 있다. 또, 종래와 같이 먼저 승수 혹은 피승수에 대하여 시프트연산을 하거나, 승산을 반올림처리하지 않고 한 후, 그 승산결과의 잘라내려는 비트범위에 따라 새롭게 반올림처리를 할 필요가 없기 때문에, 처리량의 증대를 방지할 수 있다.
또한, 본 발명의 승산회로는 부분곱생성 및 부분곱가산에 의해 승산처리를 하는 승산회로로서, 승산처리에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트와 기준잘라냄 비트범위의 최하위비트의 차에 대응한 시프트비트수 신호를 기초로, 승산처리에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하는 반올림신호 생성수단과, 승산명령에 의하여 얻어지는 승수와 피승수의 부분곱을 생성하는 부분곱 생성수단과, 부분곱 생성수단에 의해 생성된 모든 부분곱과 반올림신호 생성수단에 의해 생성된 반올림신호를 가산하는 것에 의해 반올림처리후의 승산결과를 작성하는 가산수단과, 시프트비트수 신호가 나타내는 시프트비트수 만큼 가산수단이 작성한 반올림처리후의 승산결과를 시프트시켜서 반올림처리후의 승산결과를 임의잘라냄 비트범위로 잘라내도록 하는 시프트수단을 설치한 것을 특징으로 한다.
이 구성에 의하면, 반올림처리후의 승산결과를 시프트시키는 비트수에 따른 시프트비트수 신호를 기초로 생성한 반올림신호를 사용하여 반올림처리를 실시한 것에 의해, 시프트수단이 잘라내는 비트범위에 반올림처리에 의한 승산결과로는 의미가 없게 된 비트가 포함되지 않고, 반올림처리가 실시된 승산결과를 사용하는 처리에 대하여, 사용자가 소망하는 적절한 반올림위치에서의 반올림처리를 실현할 수 있다. 또, 종래와 같이 먼저 승수 혹은 피승수에 대하여 시프트연산을 하거나, 승산을 반올림처리하지 않고 한 후, 그 승산결과의 잘라내려는 비트범위에 따라서 새롭게 반올림처리를 할 필요가 없으므로, 처리량의 증대를 방지할 수 있다. 그리고, 부분곱 생성수단 및 가산수단에 의한 승산처리 중에, 반올림처리를 포함하여 실시하는 것에 의해 처리의 고속화 및 처리회로 규모의 저감을 실현할 수 있다.
또한, 시프트비트수 신호를 일시 보존하고, 반올림신호 생성수단 및 시프트수단으로 출력하는 시프트수 보존수단을 설치하여도 좋다. 이것에 의해, 시프트비트수 신호의 설정을 승산명령보다 이전의 다른 명령으로 먼저 한다면 좋고, 승산명령에서 실시할 필요는 없으며, 명령코드길이의 증가를 회피할 수 있다.
더욱이, 시프트수 보존수단과 반올림신호 생성수단 및 시프트수단의 사이에, 시프트수 보존수단의 시프트비트수 신호와 영비트를 나타내는 영신호 중 한쪽을 선택하여 반올림신호 생성수단 및 시프트수단으로 출력하는 시프트수 선택수단을 설치하고, 이 시프트수 선택수단이 영신호를 선택하여 출력하였을 때에는, 반올림신호 생성수단은 승산결과의 기준 잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하고, 시프트수단에서는 반올림처리후의 승산결과의 시프트를 하지 않도록 하여도 좋다. 이것에 의해, 시프트수 선택수단이 영신호를 선택하여 출력하였을 때에는, 미리 설정된 고정위치를 반올림위치로 하는 반올림처리를 하여, 시프트처리를 하지 않는 종래의 승산방법을 실시하는 것도 가능하다.
또한, 가산수단과 시프트수단의 사이에, 가산수단의 출력신호와 다른 신호 중 한쪽을 선택하여 시프트수단으로 출력하는 시프트입력 전환수단을 설치하여도 좋다. 이것에 의해, 승산을 하지 않고, 다른 신호의 시프트만을 실시할 수 있다.
화상·음성분야의 디지털신호처리 등을 하는 프로세서에 사용되는, 고정소수점방식의 승산명령을 실행하기 위한 본 발명의 실시예에 있어서의 승산방법 및 승산회로에 대하여, 도면을 참조하면서 설명한다.
(실시예1)
도 1은 본 발명의 실시예1의 승산회로의 블록도이다. 도 1에 있어서, 101은 승수, 102는 피승수, 103은 승산수단, 104는 승산수단(103)의 출력으로서의 승산결과, 105는 반올림신호 생성수단, 106은 반올림신호 생성수단(105)의 출력으로서의 반올림신호, 107은 프로세서의 명령제어수단, 108은 명령제어수단(107)에 의해 제어되는 시프트비트수 신호, 109는 가산수단, 110은 가산수단(109)의 출력으로서의 반올림처리후의 승산결과, 111은 반올림처리후의 승산결과(110)를 저장하는 수단으로서의 레지스터, 112는 시프트수단으로서의 배럴시프터, 113은 배럴시프터(112)의 출력을 저장하는 수단으로서의 레지스터이다.
프로세서가 지령하는 승산명령에 의하여 얻어지는 승수(101)와 피승수(102)가 승산수단(103)에 입력되고, 승산수단(103)은 승산결과(104)를 출력한다. 반올림신호 생성수단(105)은 명령제어수단(107)이 출력하는 시프트비트수 신호(108)를 입력받아 반올림신호(106)를 생성한다. 가산수단(109)은 승산결과(104)와 반올림신호(106)를 입력받아 반올림처리후의 승산결과(110)를 출력한다. 반올림처리후의 승산결과(110)는 일단 승산결과 저장수단으로서의 레지스터(111)에 저장된다. 레지스터(111)의 출력은 시프트수단으로서의 배럴시프터(112)에 입력되고, 명령제어수단(107)이 출력하는 시프트비트수 신호(108)에 따라 입력신호를 시프트하고, 그 출력을 시프트출력을 저장하는 수단으로서의 레지스터(113)에 저장한다.
이 구성에 의해, 승산명령이 내려지면 승산수단(103)에 의해 승수(101)와 피승수(102)의 승산이 실시되고, 승산결과(104)가 산출된다. 동시에 명령제어수단(107)에 의해 먼저 출력되는 시프트비트수 신호(108)를 받아서 반올림신호 생성수단(105)이 반올림신호(106)를 생성한다. 승산결과(104)와 반올림신호(106)를 가산수단(109)에서 가산하는 것에 의하여 반올림처리를 실시한 승산결과(110)가 산출되고, 승산결과 저장레지스터(111)에 저장되어 승산명령은 종료한다.
계속하여 승산결과 저장레지스터(111)를 사용한 시프트명령이 내려지면, 배럴시프터(112)에 의해 승산결과 저장레지스터(111)에 저장된 승산결과의 시프트연산이 행해진다. 배럴시프터(112)의 시프트수는 명령제어수단(107)에 의해 승산명령의 때에도 발행된 시프트비트수 신호(108)에 의하여 결정되므로, 승산결과 저장레지스터(111)에 저장된 승산결과를, 시프트비트수 신호(108)에서 나타내어지는 시프트수만큼 시프트한 값이 시프트결과 저장레지스터(113)에 저장된다.
여기서, 본 발명의 실시예의 승산회로에 의해 실행되는 승산방법에 대하여 도 6∼도 8을 참조하면서 설명한다. 도 7, 도 8은 본 발명의 승산방법을 나타내는 개념도이다. 또, 도 6은 본 발명과 비교하기 위하여 나타낸 종래의 승산방법에 있어서 승산결과의 시프트를 실시한 처리를 부가한 경우의 개념도이다.
먼저, 도 6에 대하여 설명한다. 도 6에 있어서, 601은 승수, 602는 피승수, 603은 승산결과, 604는 승산결과(603) 중 잘라내려는 비트범위, 605는 반올림처리를 실시하는 소정의 반올림위치, 606은 반올림신호, 607은 반올림처리후의 승산결과, 608은 반올림처리에 의해 승산결과로서 의미가 없게 된 비트범위, 609는 비트를 잘라내기 위한 시프트연산의 예로써 k비트 왼쪽시프트, 610은 시프트연산후의 시프트결과출력이다.
여기서, 승산결과(603)에 대하여 반올림위치(605)가 하위로부터 m번째 비트에 위치하는 것으로 하면, 반올림처리로서 하위로부터 m번째 비트에 "1"을 가산한 후, 반올림처리후의 승산결과(607)에 대하여 시프트연산을 하지 않고, 결국 0비트 시프트하여 출력했을 때의 시프트결과출력(610)은, 승산결과(607)에서 말하는 것의 하위로부터 m+1번째 비트를 최하위비트로 한 상위비트 부분이 되는 것으로 한다.
승산결과(603) 중, 사용자가 소망하는 비트범위를 시프트처리에 의해 잘라내는 경우, 여기에서는 일예로써 비트범위(604)로 나타내어진 범위를 잘라내는 경우에, 종래의 승산방법의 반올림처리를 행해서는 소정의 반올림위치(605)에서 한결같이 반올림이 실시되어 버리기 때문에, k비트 왼쪽시프트(609)의 시프트연산에 의해 잘려진 소망하는 시프트결과출력(610)에, 승산결과로서는 의미가 없는 비트가 포함되는 결과가 된다. 이 때문에 종래의 승산방법에서 비트범위(604)로 나타낸 범위를 잘라내려는 경우에는, 반올림처리를 하지 않고 잘라버림처리에 의해 잘라내는 것으로 되어 버린다. 여기에서는 반올림처리를 하지 않았기 때문에 연산오차가 크게 되거나, 또는 별도의 처리에 의해 반올림처리를 실시하지 않으면 안되어 처리사이클이 증대해 버린다.
이것에 비해, 도 7, 도8에 나타내는 본 발명의 승산방법을 설명한다.
도 7에 있어서, 701은 승수, 702는 피승수, 703은 승산결과, 704는 승산결과 중 잘라내려는 비트범위, 705는 반올림처리를 하는 반올림위치, 706은 반올림신호, 707은 반올림처리후의 승산결과, 708은 반올림처리에 의한 승산결과로서 의미가 없게 된 비트범위, 709는 비트를 잘라내기 위한 시프트연산의 예로써 k비트 왼쪽시프트, 710은 시프트연산후의 출력의 시프트결과출력, 711은 도 6의 종래 소정의 반올림위치(605)와 같은 소정의 반올림위치이다.
여기에서도 종래와 마찬가지로, 승산결과(703)에 대한 소정의 반올림위치(711)가 하위로부터 m번째 비트에 위치하도록 하면, 소정의 반올림위치(711)에서 반올림처리를 실시한 후, 반올림처리후의 승산결과(707)에 대하여 시프트연산을 하지 않고, 결국 0비트 시프트하여 출력한 때의 시프트결과출력(710)은 승산결과(707)에서 말하는 것의 하위로부터 m+1번째 비트를 최하위비트로 한 상위비트부분인 것으로 한다. 또, 소정의 반올림위치(711)가 승산결과(703)의 하위로부터 m번째 비트에 위치하도록 하면, 승산결과(703) 중 하위로부터 m+1번째 비트를 최하위 비트로 한 상위비트부분이 기준잘라냄 비트범위이다.
여기서, 승산결과(703) 중 비트범위(704)로 나타내어진 범위를 잘라내려는 경우에, 잘라내기 위한 시프트연산에 필요한 시프트수가 k비트 왼쪽시프트(709)로 표시되어 있는 것을 반영하고, 반올림신호(706)로서는 소정의 반올림위치(711)인 하위로부터 m번째 비트를 기준으로 하면, m-k번째 비트가 "1"의 신호를 생성한다. 결국 반올림위치가 k비트 오른쪽으로 이동한 것이 되고, 이것에 의해 승산결과로서 잘라내려는 비트범위(704)는, 승산결과로서는 의미가 없는 비트범위를 포함하는 일이 없고, 적절한 반올림처리가 실시되어 시프트결과출력(710)으로서 출력된다. 또, 승산결과(703) 중 승산결과로서 잘라내려는 비트범위(704)가 임의잘라냄 비트범위이다.
또한, 도 8에 있어서, 801은 승수, 802는 피승수, 803은 승산결과, 804는 승산결과 중 잘라내려는 비트범위, 805는 반올림처리를 한 반올림위치, 806은 반올림신호, 807은 반올림처리후의 승산결과, 808은 반올림처리에 의해서 승산결과로서 의미가 없게 된 비트범위, 809는 비트를 잘라내기 위한 시프트연산의 예로써 k비트 오른쪽시프트, 810은 시프트연산후의 출력의 시프트결과출력, 811은 도 6의 종래의 소정의 반올림위치(605)와 같은 소정의 반올림위치이다.
여기에서, 승산결과(803) 중 비트범위(804)로 나타내어지는 범위를 잘라내려는 경우에, 잘라내기 위한 시프트연산에 필요한 시프트수가 k비트 오른쪽시프트(809)로 나타내어지고 있는 것을 반영하고, 반올림신호(806)로서는, 소정의 반올림위치(811)인 하위로부터 m번째 비트를 기준으로 하면, m+k번째 비트가 "1"의 신호를 생성한다. 결국 반올림위치가 k비트 왼쪽으로 이동한 것이 되고, 이것에 의해 승산결과로서 잘라내려는 비트범위(804)에 대하여 적절한 반올림처리가 실시되어 시프트결과출력(810)으로서 출력된다. 또, 소정의 반올림위치(811)가 승산결과(803)의 하위로부터 m번째 비트에 위치하도록 하면, 승산결과(803) 중 하위로부터 m+1번째 비트를 최하위비트로 한 상위비트부분이 기준잘라냄 비트범위이고, 승산결과(803) 중 승산결과로서 잘라내려는 비트범위(804)가 임의잘라냄 비트범위이다.
이상과 같이 본 실시예에 의하면, 명령제어수단(107)이 출력하는 시프트비트수 신호(108)는, 배럴시프터(112)에 입력됨과 아울러, 반올림신호 생성수단(105)에 입력되고, 반올림신호 생성수단(105)에서 시프트비트수 신호(108)에 따라서 다른 반올림신호(106)를 생성하며, 이 반올림신호(106)를 사용하여 반올림처리를 실시하는 것에 의해, 반올림처리가 실시된 승산결과를 사용한 처리에 필요한 비트폭을 시프트연산에 의해 잘라내는 경우에, 사용자가 소망하는 적절한 반올림위치에서의 반올림처리를 실시할 수 있고, 연산오차의 발생, 또한 처리사이클의 증대를 제어할 수 있다. 또, 종래와 같이 먼저 승수 혹은 피승수에 대하여 시프트연산을 실시하거나, 승산을 반올림처리없이 행한 후, 그 승산결과의 잘라내려는 비트범위에 따라 새롭게 반올림처리를 할 필요가 없으므로, 처리량의 증대를 방지할 수 있다.
또한, 본 실시예에 있어서 파이프라인화를 행하고, 승산 및 반올림처리와 승산결과의 시프트연산에 의한 필요비트의 잘라냄을 1번의 명령으로서 실행하는 경우에, 승산수단(103)에 의한 승산으로부터 가산수단(109)에 의한 반올림처리를 거쳐 배럴시프터(112)에 의한 시프트연산까지 3사이클이 필요하게 된다.
그리고, 이상의 설명에서는 가산수단(109)의 1입력으로서 승산결과(104)를 사용하여 구성한 예를 나타내었지만, 그 외 시프트대상 데이터를 입력하면, 반올림기능을 갖춘 시프트명령이 마찬가지로 실시가능하다.
(실시예2)
도 2는 본 발명의 실시예2의 승산회로의 블록도이다. 도 2에 있어서, 201은 승수, 202는 피승수, 203은 승산수단, 204는 승산수단(203)의 출력으로서의 승산결과, 205는 반올림신호 생성수단, 206은 반올림신호 생성수단(205)의 출력으로서의 반올림신호, 207은 프로세서의 명령제어수단, 208은 명령제어수단(207)에 의해 제어되는 시프트수 설정신호, 209는 가산수단, 210은 가산수단(209)의 출력으로서의 반올림처리후의 승산결과, 211은 반올림처리후의 승산결과(210)를 저장하는 수단으로서의 레지스터, 212는 시프트수단으로서의 배럴시프터, 213은 배럴시프터(212)의 출력을 저장하는 수단으로서의 레지스터, 214는 시프트수(數) 설정신호(208)의 보존수단으로서의 시프트수 보존수단, 215는 시프트수 보존수단(214)의 출력으로서의 시프트비트수 신호이다.
이 실시예2에서는, 시프트수 보존수단(214)을 설치한 것이 실시예1과 다르고, 다른 구성 및 작동은 실시예1과 동일하므로 여기에서는 설명을 생략한다.
시프트수 설정신호(208)는 시프트수 보존수단(214)에 일단 저장되고, 시프트수 보존수단(214)의 출력을 시프트비트수 신호(215)로서 반올림신호 생성수단(205) 및 배럴시프터(212)에 입력한다. 즉, 이 실시예2에서는 실시예1의 구성에 시프트수 보존수단(214)을 부가하는 것에 의해, 승산명령보다 이전에 시프트수 보존수단(214)에 시프트수를 설정하는 것을 가능하게 한 것이다.
이상과 같이 본 실시예에 의하면, 실시예1의 효과에 더하여 시프트수 보존수단(214)을 설치한 것에 의해, 시프트수의 설정은 다른 명령으로 먼저 하면 좋고, 실시예1에서 서술한 바와 같이 승산명령과 그 승산결과를 사용한 시프트명령의 2번에 걸쳐서 시프트수 설정을 할 필요가 없게 되고, 명령코드에 대한 시프트수 설정필드 증설의 필요가 없게 되며, 또 명령제어수단(207) 회로의 간소화가 실현가능하게 된다.
(실시예3)
도 3은 본 발명의 실시예3의 승산회로의 블록도이다. 도 3에 있어서, 301은 승수, 302는 피승수, 303은 승산수단, 304는 승산수단(303)의 구성요소로서의 부분곱 생성수단, 305는 부분곱 생성수단(304)의 출력으로서의 부분곱, 306은 승산수단(303)의 구성요소로서의 제1의 부분곱 가산수단, 307은 제1의 부분곱 가산수단(306)의 중간결과를 잠시 보존하는 중간레지스터, 308은 승산수단(303)의 구성요소로서 중간레지스터(307)의 출력을 가산하는 제2의 부분곱 가산수단, 309는 제2의 부분곱 가산수단(308)의 출력으로서의 반올림처리후의 승산결과, 310은 시프트수단으로서의 배럴시프터, 311은 배럴시프터(310)의 출력을 저장하는 수단으로서의 레지스터, 312는 명령제어수단, 313은 명령제어수단(312)의 출력으로서의 시프트비트수 신호, 314는 반올림신호 생성수단, 315는 반올림신호 생성수단(314)의 출력으로서의 반올림신호이다.
승수(301)와 피승수(302)는 부분곱 생성수단(304)에 입력되고, 얻어진 부분곱(305)은 제1의 부분곱 가산수단(306)에 입력된다. 한편, 명령제어수단(312)이 출력하는 시프트비트수 신호(313)가 입력되는 반올림신호 생성수단(314)은 반올림신호(315)를 생성하고, 반올림신호(315)는 제1의 부분곱 가산수단(306)으로 입력된다. 제1의 부분곱 가산수단(306)은 2개의 가수(加數)로 된 곳에서 중간결과를 중간 레지스터(307)에 저장한다. 중간 레지스터(307)의 출력은 제2의 부분곱 가산수단(308)에 입력되어 가산되고, 반올림처리후의 승산결과(309)로서 출력된다. 반올림처리후의 승산결과(309)는 배럴시프터(310)에 입력되고, 배럴시프터(310)에서 명령제어수단(312)이 출력하는 시프트비트수 신호(313)에 따라 시프트되며, 승산결과로서 잘라내려는 비트범위가 잘려지고, 승산출력 저장레지스터(311)에 저장된다.
이러한 구성에 의하여, 승산명령이 내려지면 부분곱 생성수단(304)에 의하여 승수(301)와 피승수(302)의 부분곱의 생성이 실시된다. 동시에 명령제어수단(312)에서 출력되는 시프트비트수 신호(313)를 받아서 반올림신호 생성수단(314)이 반올림신호(315)를 생성하고 있으므로, 부분곱(305)과 반올림신호(315)를 제1의 부분곱 가산수단(306)으로 가산한다. 제1의 부분곱 가산수단(306)에 의해 2개의 가수(加數)로 되기까지 가산한 곳에서, 일단 중간 레지스터(307)에 값을 저장한다. 중간 레지스터(307)의 출력은 2입력가산기로 구성되는 제2의 부분곱 가산수단(308)에서 가산되고, 반올림처리후의 승산결과(309)가 출력된다. 반올림처리후의 승산결과(309)는 배럴시프터(310)에 입력되고, 명령제어수단(312)이 출력하고 있는 시프트비트수 신호(313)로 설정된 비트수 만큼 시프트되며, 승산결과로서의 잘라내려는 비트범위가 잘려져 승산출력 저장레지스터(311)에 저장된다.
이상과 같이 본 실시예에 의하면, 실시예1의 효과에 더하여 실시예1에서의 승산수단(103) 및 가산수단(109) 대신에, 부분곱 생성수단(304), 제1의 부분곱 가산수단(306), 중간 레지스터(307) 및 제2의 부분곱 가산수단(308)으로 이루어지는 승산수단(303)을 사용하여, 고속승산기 구성으로서 일반적인 반복셀형 배열승산기의 구성요소인 부분곱 가산수단에 있어서 반올림신호(315)의 가산을 하는 것에 의해, 반올림처리를 승산처리 중에 실시하는 것으로 연산시간의 고속화와 회로규모소형화를 가능하게 한다. 이것에 의해, 파이프라인화를 행하고, 승산 및 반올림처리와 승산결과의 시프트연산에 의한 필요비트의 잘라냄을 1명령으로 실행하는 경우에, 부분곱생성과 제1의 부분곱가산까지를 1사이클, 제2의 부분곱가산과 배럴시프터(310)에 의한 시프트연산까지를 1사이클로 하여 2사이클로 파이프라인화할 수 있고, 3사이클을 필요로 하는 실시예1과 비교하여 처리량을 경감할 수 있다.
(실시예4)
도 4는 본 발명의 실시예4의 승산회로의 블록도이다. 도 4에 있어서, 401은 승수, 402는 피승수, 403은 승산수단, 404는 승산수단(403)의 구성요소로서의 부분곱 생성수단, 405는 부분곱 생성수단(404)의 출력으로서의 부분곱, 406은 승산수단(403)의 구성요소로서의 제1의 부분곱 가산수단, 407은 제1의 부분곱 가산수단(406)의 중간결과를 일시 보존하는 중간레지스터, 408은 승산수단(403)의 구성요소로서의 중간레지스터(407)의 출력을 가산하는 제2의 부분곱 가산수단, 409는 제2의 부분곱 가산수단(408)의 출력으로서의 반올림처리후의 승산결과, 410은 시프트수단으로서의 배럴시프터, 411은 배럴시프터(410)의 출력을 저장하는 수단으로서의 레지스터, 412는 명령제어수단, 413은 명령제어수단(412)의 출력으로서의 시프트수 설정신호, 414는 반올림신호 생성수단, 415는 반올림신호 생성수단(414)의 출력으로서의 반올림신호, 416은 시프트수 설정신호(413)의 보존수단으로서의 시프트수 보존수단, 417은 시프트수 보존수단(416)의 출력으로서의 시프트비트수 신호이다.
이 실시예4에서는, 시프트수 보존수단(416)을 설치한 것이 실시예3과 다르고, 다른 구성 및 동작은 실시예3과 동일하므로 여기에서는 설명을 생략한다.
시프트수 설정신호(413)는 시프트수 보존수단(416)에 일단 저장되고, 시프트수 보존수단(416)의 출력을 시프트비트수 신호(417)로 하여 반올림신호 생성수단(414) 및 배럴시프터(410)로 입력한다. 즉, 이 실시예4에서는 실시예3의 구성에 시프트수보존수단(416)을 부가한 것에 의해, 승산명령보다 앞의 명령으로 시프트수 보존수단(416)에 시프트수를 설정하여 두는 것을 가능하게 한 것이다.
이상과 같이 본 실시예에 의하면, 실시예3의 효과에 더하여, 시프트수 보존수단(416)을 설치한 것에 의해, 시프트수의 설정은 별도의 명령으로 먼저 하면 좋고, 실시예3과 같이 승산명령과 그 승산결과를 사용한 시프트명령의 2번에 걸쳐 시프트수 설정을 한다는 필요가 없게 되어, 명령코드에 대한 시프트수 설정필드의 증설을 회피할 수 있다.
(실시예5)
도 5는 본 발명의 실시예5의 승산회로의 블록도이다. 도 5에 있어서, 501은 승수, 502는 피승수, 503은 승산수단, 504는 승산수단(503)의 구성요소로서의 부분곱 생성수단, 505는 부분곱 생성수단(504)의 출력으로서의 부분곱, 506은 승산수단(503)의 구성요소로서의 제1의 부분곱 가산수단, 507은 제1의 부분곱 가산수단(506)의 중간결과를 일시 보존하는 중간레지스터, 508은 승산수단(503)의 구성요소로서의 중간레지스터(507)의 출력을 가산하는 제2의 부분곱 가산수단, 509는 제2의 부분곱 가산수단(508)의 출력으로서의 반올림처리후의 승산결과, 510은 시프트수단으로서의 배럴시프터, 511은 배럴시프터(510)의 출력을 저장하는 수단으로서의 레지스터, 512는 명령제어수단, 513은 명령제어수단(512)의 출력으로서의 시프트수 설정수단, 514는 반올림신호 생성수단, 515는 반올림신호 생성수단(514)의 출력으로서의 반올림신호, 516은 시프트수 설정신호(513)의 보존수단으로서의 시프트수 보존수단, 517은 시프트수 보존수단(516)의 출력으로서의 시프트비트수 신호, 518은 시프트수 선택수단, 519는 시프트수 선택수단(518)의 선택신호로서의 승산모드 전환신호, 520은 시프트명령의 입력변환수단, 521은 시프트명령의 입력전환수단(520)의 전환신호로서의 시프트 명령제어신호, 522는 시프트명령시의 입력이다. 또, 승산모드 변환신호(519)는, 승산결과의 시프트와 그 시프트수에 의해 반올림처리를 실시한 본 발명에 따른 승산방법을 실현하는 모드와 승산결과의 시프트나 그것에 따라서 반올림을 실시하지 않는 통상의 승산방법을 실현하는 모드를 전환하기 위한 신호이다.
이 실시예5에서는 시프트수 보존수단(516)의 출력 및 "0" 중 한 쪽을 선택하는 시프트수 선택수단(518)과, 시프트명령의 입력전환수단(520)을 설치한 것이 실시예4와 다르고, 다른 구성 및 동작은 실시예4와 동일하므로, 여기에서는 설명을 생략한다.
명령제어수단(512)이 출력하는 시프트수 설정신호(513)는 시프트수 보존수단(516)에 입력되고, 시프트수 보존수단(516)의 출력은 시프트수 선택수단(518)의 한쪽의 입력에 입력된다. 시프트수 선택수단(518)은 2입력 선택기로 구성되어 있고, 다른 입력은 "0"에 고정되어 있다. 또한, 명령제어수단(512)이 출력하는 승산모드 전환신호(519)는 시프트수 선택수단(518)의 선택신호로서 입력된다. 시프트수 선택수단(518)의 출력은 시프트비트수 신호(517)로서 반올림신호 생성수단(514)과 배럴시프터(510)에 입력된다. 또, 명령제어수단(512)이 출력하는 시프트명령 제어신호(521)는 2입력 선택기로 구성되어 있는 시프트명령의 입력전환수단(520)의 선택신호로서 입력된다. 시프트명령의 입력전환수단(520)의 2입력 중, 한쪽은 승산수단(503)의 출력으로서의 승산결과(509)이고, 또 한쪽은 시프트명령시의 입력(522)이다.
이 구성에 의해, 시프트명령의 입력전환수단(520)이 승산수단(503)으로부터의 입력, 즉 반올림처리후의 승산결과(509)를 출력으로 하는 경우에, 명령제어수단(512)이 출력하는 승산모드 전환신호(519)에 의해, 시프트수 선택수단(518)의 출력이 "0"이나 시프트수 보존수단(516)에 저장되어 있는 시프트수로 교체된다. 예컨대 시프트수 선택수단(518)의 출력으로서 시프트수 보존수단(516)에 보존되어 있는 시프트수가 출력되는 것으로 하면, 이것을 받은 반올림신호 생성수단(514)은 도 7, 도 8에 나타내는 바와 같은 반올림신호를 생성하고, 또 배럴시프터(510)는 입력을 시프트수 보존수단(516)에 보존되어 있던 시프트수 만큼만 시프트하여 출력한다. 또한, 시프트수 선택수단(518)의 출력으로서 "0"이 출력되도록 하면, 이것을 받은 반올림신호 생성수단(514)은 반올림신호로 하고 있는 고정의 신호, 예컨대 하위로부터 m번째 비트만이 "1"의 신호를 발생하고, 또, 배럴시프터(510)는 입력을 0비트 시프트, 결국 시프트하지 않고 출력한다.
또, 시프트수 선택수단(518)이 없는 도 4의 구성에 있어서도, 시프트수 설정신호(413)로서 "0"을 시프트수 보존수단(416)에 보존하여 둔 경우에는, 도 5의 구성에 있어서 시프트명령의 입력전환수단(520)이 반올림처리후의 승산결과(509)를 출력으로 하고, 시프트수 선택수단(518)이 "0"을 선택하여 출력하는 경우와 동일한 동작이 얻어진다. 그렇지만, 도 5의 구성과 같이 시프트수 선택수단(518)을 설치한 것에 의해, 시프트수 선택수단(518)의 출력, 즉 시프트비트수 신호(517)로서 "0"을 선택하는 전후에서 동일한 시프트수를 선택하는 경우에는, "0"을 선택하기 전에 선택되어 있는 시프트수가, "0"을 선택한 후에도 시프트수 보존수단(516)에 보존되어 있기 때문에, 시프트수 선택수단(518)이 "0"을 선택한 후에 명령제어수단(512)이 시프트수 보존수단(516)에 시프트수를 고쳐 설정할 필요가 없게 되어, 고속처리가 가능하게 된다.
또, 시프트명령의 입력전환수단(520)을 설치하고 있기 때문에, 승산수단(503)을 개재시키지 않고 시프트명령의 입력전환수단(520)에 직접입력한 시프트명령시의 입력(522)을 배럴시프터(510)로 출력하는 것에 의해, 시프트명령만을 단독으로 실행할 수 있다.
이상과 같이 본 실시예에 의하면, 실시예4의 효과에 더하여, 시프트수 선택수단(518)을 설치한 것에 의해, 승산모드 전환신호(519)에 따라서 시프트수 선택수단(518)의 출력을 전환하는 것으로, 승산결과의 시프트와 그 시프트수에 의한 반올림처리를 실시하는 본 발명에 의한 승산방법과, 승산결과의 시프트나 그것에 따른 반올림을 실시하지 않는 통상의 승산방법을 동일회로에서 실현할 수 있다.
또, 시프트명령의 입력전환수단(520)을 설치한 것에 의해, 시프트명령만의 단독실행도 용이하게 실현할 수 있다.
또, 시프트수 보존수단(516), 시프트수 선택수단(518), 시프트명령의 입력전환수단(520)을, 도 1에 나타내는 실시예1의 구성과 동일하게 부가하여도 좋고, 시프트수 선택수단(518)을 도 2에 나타내는 실시예2의 구성에 동일하게 부가하여도 좋다. 또한, 시프트명령의 입력전환수단(520)만을 도 1∼도 4에 나타내는 실시예1∼실시예4의 구성에 동일하게 부가하는 것도 가능하다.
본 발명의 승산방법은 승산명령에 의하여 얻어지는 승수와 피승수를 승산하는 승산처리와, 승산처리에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트와 기준잘라냄 비트범위의 최하위비트의 차에 대응한 시프트비트수 신호를 기초로, 승산처리에 의한 승산결과가 임의잘라냄 비트범위의 최하위비트의 인접하는 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하는 반올림신호 생성처리와, 승산처리에 의한 승산결과와 반올림신호를 가산하는 것에 의해 반올림처리후의 승산결과를 작성하는 가산처리와, 시프트비트수 신호가 나타내는 시프트비트수 만큼 반올림처리후의 승산결과를 시프트시키는 것에 의해 반올림처리후의 승산결과를 임의잘라냄 비트범위로 잘라내도록 하는 시프트처리를 포함하고 있다.
이 승산방법에 의하면, 반올림처리후의 승산결과를 시프트시키는 비트수에 따른 시프트비트수 신호를 기초로 생성된 반올림신호를 사용하여 반올림처리를 실시하는 것에 의해 시프트처리에 의해 잘려지는 비트범위로, 반올림처리에 의해 승산결과로서는 의미가 없게 된 비트가 포함되는 일이 없고, 반올림처리가 실시된 승산결과를 사용하는 처리에 대하여 사용자가 소망하는 적절한 반올림위치에서의 반올림처리를 실현할 수 있다. 또한, 종래와 같이 미리 승수 혹은 피승수에 대하여 시프트연산을 하거나, 승산을 반올림처리하지 않고 행한 후, 그 승산결과의 잘라내려는 비트범위에 따라서 새롭게 반올림처리를 할 필요가 없으므로 처리량의 증대를 방지할 수 있다. 또, 가산처리에 의하여 작성된 반올림처리 후의 승산결과를, 시프트시켜 잘라낸 것을 반올림처리가 실시된 승산결과라 한다.
또한, 본 발명의 승산방법은 부분곱생성 및 부분곱가산에 의해 승산처리를 하는 승산방법으로서, 승산처리에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트와 기준잘라냄 비트범위의 최하위비트의 차에 대응한 시프트비트수 신호를 기초로, 상기 승산처리에 의한 승산결과 임의잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하는 반올림신호 생성처리와, 승산명령에 의해 얻어지는 승수와 피승수의 부분곱을 생성하는 부분곱 생성처리와, 부분곱 생성처리에 의해 생성된 전체의 부분곱과 상기 반올림신호를 가산하는 것에 의해 반올림처리후의 승산결과를 작성하는 가산처리와, 시프트비트수 신호가 나타내는 시프트비트수 만큼 상기 반올림처리후의 승산결과를 시프트시키는 것에 의해 상기 반올림처리후의 승산결과를 상기 임의잘라냄 비트범위로 잘라내는 시프트처리를 포함한 것을 특징으로 한다.
이 승산방법에 의하면, 반올림처리후의 승산결과를 시프트시키는 비트수에 따른 시프트비트수 신호를 기초로 생성된 반올림신호를 사용하여 반올림처리를 실시하는 것에 의해, 시프트처리에 의해 잘라내는 비트범위에, 반올림처리에 의한 승산결과로서는 의미가 없게 된 비트가 포함되는 일이 없고, 반올림처리가 실시된 승산결과를 사용하는 처리에 대하여, 사용자가 소정의 적절한 반올림위치에서의 반올림처리를 실현할 수 있다. 또, 종래와 같이 먼저 승수 혹은 피승수에 대하여 시프트연산을 실시하거나, 승산을 반올림처리없이 한 후, 그 승산결과가 잘라내려는 비트범위에 따라서, 새롭게 반올림처리를 실시할 필요가 없으므로, 처리량의 증대를 방지할 수 있다. 더욱이, 부분곱 생성처리 및 가산처리로 이루어지는 승산처리 중에, 반올림처리를 포함하여 실시하는 것에 의해, 처리의 고속화 및 처리회로 규모의 저감을 실현할 수 있다.
또, 시프트비트수 신호는 일시 보존된 후에 반올림신호 생성처리 및 시프트처리에 사용하여도 좋다. 이것에 의해, 시프트비트수 신호의 설정을 승산명령보다 이전에 별도의 명령으로 먼저 하면 좋고, 승산명령에서 실시할 필요는 없어, 명령코드길이의 증가를 회피할 수 있다.
더욱이, 일시 보존된 시프트비트수 신호와 영(零)비트를 나타내는 영신호 중 한쪽을 선택하여 반올림신호 생성처리 및 시프트처리에 사용하고, 영신호를 선택하여 사용한 때에는, 반올림신호 생성처리에서는 승산처리에 의한 승산결과의 기준잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하고, 시프트처리에서는 반올림처리후의 승산결과의 시프트를 하지 않도록 하여도 좋다. 이것에 의해, 영신호를 선택하여 사용한 때에는, 미리 설정된 고정위치를 반올림위치로 하는 반올림처리를 실시하고, 시프트처리를 하지 않는 종래의 승산방법을 하는 것도 가능하다.
본 발명의 승산회로는 승산명령에 의해 얻어지는 승수와 피승수를 입력하고 그 승산결과를 출력하는 승산수단과, 승산수단에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트와 기준잘라냄 비트범위의 최하위비트의 차에 대응한 시프트비트수 신호를 기초로, 승산수단에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하는 반올림신호 생성수단과, 승산수단에 의한 승산결과와 반올림신호 생성수단에 의해 생성된 반올림신호를 가산하는 것에 의해 반올림처리후의 승산결과를 작성하는 가산수단과, 시프트비트수 신호가 나타내는 시프트비트수 만큼 가산수단이 작성한 반올림처리후의 승산결과를 시프트시켜 반올림처리후의 승산결과를 임의잘라냄 비트범위에서 잘라내도록 하는 시프트수단을 구비하고 있다.
이 구성에 의하면, 반올림처리후의 승산결과를 시프트시키는 비트수에 따른 시프트비트수 신호를 기초로 생성된 반올림신호를 사용하여 반올림처리를 실시하는 것에 의해, 시프트수단이 잘라내는 비트범위에, 반올림처리에 의한 승산결과로서는 의미가 없게 된 비트가 포함되지 않고, 반올림처리가 실시된 승산결과를 사용하는 처리에 대하여, 사용자가 소망하는 적절한 반올림위치에서의 반올림처리를 실현할 수 있다. 또, 종래와 같이 먼저 승수 혹은 피승수에 대하여 시프트연산을 하거나, 승산을 반올림처리하지 않고 한 후, 그 승산결과의 잘라내려는 비트범위에 따라 새롭게 반올림처리를 할 필요가 없기 때문에, 처리량의 증대를 방지할 수 있다.
또한, 본 발명의 승산회로는 부분곱생성 및 부분곱가산에 의해 승산처리를 하는 승산회로로서, 승산처리에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트와 기준잘라냄 비트범위의 최하위비트의 차에 대응한 시프트비트수 신호를 기초로, 승산처리에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하는 반올림신호 생성수단과, 승산명령에 의하여 얻어지는 승수와 피승수의 부분곱을 생성하는 부분곱 생성수단과, 부분곱 생성수단에 의해 생성된 모든 부분곱과 반올림신호 생성수단에 의해 생성된 반올림신호를 가산하는 것에 의해 반올림처리후의 승산결과를 작성하는 가산수단과, 시프트비트수 신호가 나타내는 시프트비트수 만큼 가산수단이 작성한 반올림처리후의 승산결과를 시프트시켜서 반올림처리후의 승산결과를 임의잘라냄 비트범위로 잘라내도록 하는 시프트수단을 설치한 것을 특징으로 한다.
이 구성에 의하면, 반올림처리후의 승산결과를 시프트시키는 비트수에 따른 시프트비트수 신호를 기초로 생성한 반올림신호를 사용하여 반올림처리를 실시한 것에 의해, 시프트수단이 잘라내는 비트범위에 반올림처리에 의한 승산결과로는 의미가 없게 된 비트가 포함되지 않고, 반올림처리가 실시된 승산결과를 사용하는 처리에 대하여, 사용자가 소망하는 적절한 반올림위치에서의 반올림처리를 실현할 수 있다. 또, 종래와 같이 먼저 승수 혹은 피승수에 대하여 시프트연산을 하거나, 승산을 반올림처리하지 않고 한 후, 그 승산결과의 잘라내려는 비트범위에 따라서 새롭게 반올림처리를 할 필요가 없으므로, 처리량의 증대를 방지할 수 있다. 그리고, 부분곱 생성수단 및 가산수단에 의한 승산처리 중에, 반올림처리를 포함하여 실시하는 것에 의해 처리의 고속화 및 처리회로 규모의 저감을 실현할 수 있다.
또한, 시프트비트수 신호를 일시 보존하고, 반올림신호 생성수단 및 시프트수단으로 출력하는 시프트수 보존수단을 설치하여도 좋다. 이것에 의해, 시프트비트수 신호의 설정을 승산명령보다 이전의 다른 명령으로 먼저 한다면 좋고, 승산명령에서 실시할 필요는 없으며, 명령코드길이의 증가를 회피할 수 있다.
더욱이, 시프트수 보존수단과 반올림신호 생성수단 및 시프트수단의 사이에, 시프트수 보존수단의 시프트비트수 신호와 영비트를 나타내는 영신호 중 한쪽을 선택하여 반올림신호 생성수단 및 시프트수단으로 출력하는 시프트수 선택수단을 설치하고, 이 시프트수 선택수단이 영신호를 선택하여 출력하였을 때에는, 반올림신호 생성수단은 승산결과의 기준 잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하고, 시프트수단에서는 반올림처리후의 승산결과의 시프트를 하지 않도록 하여도 좋다. 이것에 의해, 시프트수 선택수단이 영신호를 선택하여 출력하였을 때에는, 미리 설정된 고정위치를 반올림위치로 하는 반올림처리를 하여, 시프트처리를 하지 않는 종래의 승산방법을 실시하는 것도 가능하다.
또한, 가산수단과 시프트수단의 사이에, 가산수단의 출력신호와 다른 신호 중 한쪽을 선택하여 시프트수단으로 출력하는 시프트입력 전환수단을 설치하여도 좋다. 이것에 의해, 승산을 하지 않고, 다른 신호의 시프트만을 실시할 수 있다.
도 1은, 본 발명의 실시예1의 승산회로의 블록도이다.
도 2는, 본 발명의 실시예2의 승산회로의 블록도이다.
도 3는, 본 발명의 실시예3의 승산회로의 블록도이다.
도 4는, 본 발명의 실시예4의 승산회로의 블록도이다.
도 5는, 본 발명의 실시예5의 승산회로의 블록도이다.
도 6은, 종래의 승산방법에 있어서 승산결과의 시프트를 실시하는 처리를 부가한 경우의 개념도이다.
도 7은, 본 발명의 승산방법을 나타내는 개념도이다.
도 8은, 본 발명의 승산방법을 나타내는 개념도이다.
도 9는, 종래의 승산방법을 나타내는 개념도이다.

Claims (14)

  1. 승산명령에 의해 얻어지는 승수와 피승수를 승산하는 승산처리;
    상기 승산처리에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트와 기준잘라냄 비트범위의 최하위비트의 차에 대응한 시프트비트수 신호를 기초로, 상기 승산처리에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어진 반올림신호를 생성하는 반올림신호생성처리;
    상기 승산처리에 의한 승산결과와 상기 반올림신호를 가산하는 것에 의해 반올림처리후의 승산결과를 작성하는 가산처리; 및
    상기 시프트비트수 신호가 나타내는 시프트비트수 만큼 상기 반올림처리후의 승산결과를 시프트시킴으로써 상기 반올림처리후의 승산결과를 상기 임의잘라냄 비트범위로 잘라내게 하는 시프트처리를 포함한 것을 특징으로 하는 승산방법.
  2. 제1항에 있어서, 시프트비트수 신호는 일시 보존된 후에, 반올림신호 생성처리 및 시프트처리에 사용되는 것을 특징으로 하는 승산방법.
  3. 제2항에 있어서, 일시 보존된 시프트비트수 신호와 영(零)비트를 나타내는 영신호 중 한쪽을 선택하여 반올림신호 생성처리 및 시프트처리에 사용하고, 상기 영신호를 선택하여 사용하였을 때에는, 상기 반올림신호 생성처리에서는 승산처리에 의한 승산결과의 기준잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하고, 상기 시프트처리에서는 반올림처리후의 승산결과의 시프트를 실시하지 않는 것을 특징으로 하는 승산방법.
  4. 부분곱생성 및 부분곱가산에 의해 승산처리를 실시하는 승산방법으로서,
    상기 승산처리에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트와 기준잘라냄 비트범위의 최하위비트의 차에 대응한 시프트비트수 신호를 기초로, 상기 승산처리에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하는 반올림신호 생성처리;
    승산명령에 의해 얻어지는 승수와 피승수의 부분곱을 생성하는 부분곱 생성처리;
    상기 부분곱 생성처리에 의해 생성된 모든 부분곱과 상기 반올림신호를 가산함으로써 반올림처리후의 승산결과를 작성하는 가산처리; 및
    상기 시프트비트수 신호가 나타내는 시프트비트수 만큼 상기 반올림처리후의 승산결과를 시프트시킴으로써 상기 반올림처리후의 승산결과를 상기 임의잘라냄 비트범위로 잘라내게 하는 시프트처리를 포함하는 것을 특징으로 하는 승산방법.
  5. 제4항에 있어서, 시프트비트수 신호는 일시 보존된 후에, 반올림신호 생성처리 및 시프트처리에 사용되는 것을 특징으로 하는 승산방법.
  6. 제5항에 있어서, 일시 보존된 시프트비트수 신호와 영(零)비트를 나타내는 영신호 중 한쪽을 선택하여 반올림신호 생성처리 및 시프트처리에 사용하고, 상기 영신호를 선택하여 사용하였을 때에는, 상기 반올림신호 생성처리에서는 승산처리에 의한 승산결과의 기준잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하고, 상기 시프트처리에서는 반올림처리후의 승산결과의 시프트를 실시하지 않는 것을 특징으로 하는 승산방법.
  7. 승산명령에 의하여 얻어지는 승수와 피승수를 입력하여 그 승산결과를 출력하는 승산수단;
    상기 승산수단에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트와 기준잘라냄 비트범위의 최하위비트의 차에 대응한 시프트비트수 신호를 기초로, 상기 승산수단에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하는 반올림신호 생성수단;
    상기 승산수단에 의한 승산결과와 상기 반올림신호 생성수단에 의해 생성된 반올림신호를 가산함으로써 반올림처리후의 승산결과를 작성하는 가산수단; 및
    상기 시프트비트수 신호가 나타내는 시프트비트수 만큼 상기 가산수단이 작성한 반올림처리후의 승산결과를 시프트시켜서 상기 반올림처리후의 승산결과를 상기 임의잘라냄 비트범위로 잘라내게 하는 시프트수단을 구비한 것을 특징으로 하는 승산회로.
  8. 제7항에 있어서, 시프트비트수 신호를 일시 보존하고, 반올림신호 생성수단 및 시프트수단으로 출력하는 시프트수 보존수단을 설치한 것을 특징으로 하는 승산회로.
  9. 제8항에 있어서, 시프트수 보존수단과 반올림신호 생성수단 및 시프트수단 사이에, 상기 시프트수 보존수단의 시프트비트수 신호와 영(零)비트를 나타내는 영신호 중 한쪽을 선택하여 상기 반올림신호 생성수단 및 시프트수단으로 출력하는 시프트수 선택수단을 설치하고, 이 시프트수 선택수단이 영신호를 선택하여 출력하였을 때에는, 상기 반올림신호 생성수단은 승산결과의 기준잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하고, 상기 시프트수단에서는 반올림처리후의 승산결과의 시프트를 실시하지 않도록 한 것을 특징으로 하는 승산회로.
  10. 제7항 내지 제9항 중 어느 한 항에 있어서, 가산수단과 시프트수단 사이에, 상기 가산수단의 출력신호와 다른 신호 중 한쪽을 선택하여 상기 시프트수단으로 출력하는 시프트입력 전환수단을 설치한 것을 특징으로 하는 승산회로.
  11. 부분곱생성 및 부분곱가산에 의해 승산처리를 실시하는 승산회로로서,
    상기 승산처리에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트와 기준잘라냄 비트범위의 최하위비트의 차에 대응한 시프트비트수 신호를 기초로, 상기 승산처리에 의한 승산결과의 임의잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하는 반올림신호 생성수단;
    승산명령에 의해 얻어지는 승수와 피승수의 부분곱을 생성하는 부분곱 생성수단;
    상기 부분곱 생성수단에 의해 생성된 모든 부분곱과 상기 반올림신호 생성수단에 의해 생성된 반올림신호를 가산함으로써 반올림처리후의 승산결과를 작성하는 가산수단; 및
    상기 시프트비트수 신호가 나타내는 시프트비트수 만큼 상기 가산수단이 작성한 반올림처리후의 승산결과를 시프트시켜 상기 반올림처리후의 승산결과를 상기 임의잘라냄 비트범위로 잘라내도록 하는 시프트수단을 설치한 것을 특징으로 하는 승산회로.
  12. 제11항에 있어서, 시프트비트수 신호를 일시 보존하고, 반올림신호 생성수단 및 시프트수단으로 출력하는 시프트수 보존수단을 설치한 것을 특징으로 하는 승산회로.
  13. 제12항에 있어서, 시프트수 보존수단과 반올림신호 생성수단 및 시프트수단 사이에, 상기 시프트수 보존수단의 시프트비트수 신호와 영(零)비트를 나타내는 영신호 중 한쪽을 선택하여 상기 반올림신호 생성수단 및 시프트수단으로 출력하는 시프트수 선택수단을 설치하고, 이 시프트수 선택수단이 영신호를 선택하여 출력하였을 때에는, 상기 반올림신호 생성수단은 승산결과의 기준잘라냄 비트범위의 최하위비트의 인접한 하위비트에 더하여지는 반올림용 수치로 이루어지는 반올림신호를 생성하고, 상기 시프트수단에서는 반올림처리후의 승산결과의 시프트를 실시하지 않도록 한 것을 특징으로 하는 승산회로.
  14. 제11항 내지 제13항 중 어느 한 항에 있어서, 가산수단과 시프트수단 사이에, 상기 가산수단의 출력신호와 다른 신호 중 한쪽을 선택하여 상기 시프트수단으로 출력하는 시프트입력 전환수단을 설치한 것을 특징으로 하는 승산회로.
KR1019980011434A 1997-04-01 1998-04-01 승산방법및승산회로 KR100556568B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP97-082559 1997-04-01
JP97-82559 1997-04-01
JP8255997 1997-04-01

Publications (2)

Publication Number Publication Date
KR19980080981A KR19980080981A (ko) 1998-11-25
KR100556568B1 true KR100556568B1 (ko) 2006-07-03

Family

ID=13777860

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980011434A KR100556568B1 (ko) 1997-04-01 1998-04-01 승산방법및승산회로

Country Status (4)

Country Link
US (2) US6167419A (ko)
EP (1) EP0869432B1 (ko)
KR (1) KR100556568B1 (ko)
DE (1) DE69808362T2 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7890566B1 (en) * 2000-02-18 2011-02-15 Texas Instruments Incorporated Microprocessor with rounding dot product instruction
US7062526B1 (en) * 2000-02-18 2006-06-13 Texas Instruments Incorporated Microprocessor with rounding multiply instructions
TW484092B (en) * 2001-01-31 2002-04-21 Nat Science Council Reduced-width low-error multiplier
US7340495B2 (en) * 2001-10-29 2008-03-04 Intel Corporation Superior misaligned memory load and copy using merge hardware
US6941335B2 (en) * 2001-11-29 2005-09-06 International Business Machines Corporation Random carry-in for floating-point operations
US7689641B2 (en) * 2003-06-30 2010-03-30 Intel Corporation SIMD integer multiply high with round and shift
JP4571903B2 (ja) * 2005-12-02 2010-10-27 富士通株式会社 演算処理装置,情報処理装置,及び演算処理方法
US20080034027A1 (en) * 2006-08-01 2008-02-07 Linfeng Guo Method for reducing round-off error in fixed-point arithmetic
US9128698B2 (en) * 2012-09-28 2015-09-08 Intel Corporation Systems, apparatuses, and methods for performing rotate and XOR in response to a single instruction
US9032009B2 (en) 2013-03-11 2015-05-12 Freescale Semicondutor, Inc. Multiplier circuit
US8933731B2 (en) 2013-03-11 2015-01-13 Freescale Semiconductor, Inc. Binary adder and multiplier circuit
US20150095396A1 (en) * 2013-10-01 2015-04-02 Rockwell Automation Technologies, Inc. Multiplying varying fixed-point binary numbers
RU2625528C1 (ru) * 2016-05-17 2017-07-14 Федеральное государственное бюджетное образовательное учреждение высшего образования "Кубанский государственный технологический университет" (ФГБОУ ВО "КубГТУ") Арифметическое устройство
RU2749647C1 (ru) * 2020-11-17 2021-06-16 Федеральное государственное бюджетное учреждение науки Институт космических исследований Российской академии наук Способ умножения чисел в позиционном коде

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4926370A (en) * 1989-04-17 1990-05-15 International Business Machines Corporation Method and apparatus for processing postnormalization and rounding in parallel
US4999801A (en) * 1988-07-15 1991-03-12 Fujitsu Limited Floating point operation unit in division and square root operations
US5276634A (en) * 1990-08-24 1994-01-04 Matsushita Electric Industrial Co., Ltd. Floating point data processing apparatus which simultaneously effects summation and rounding computations
US5341319A (en) * 1993-02-10 1994-08-23 Digital Equipment Corporation Method and apparatus for controlling a rounding operation in a floating point multiplier circuit

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61188624A (ja) * 1985-02-15 1986-08-22 Fujitsu Ltd 固定小数点演算装置
JPS6285333A (ja) * 1985-10-11 1987-04-18 Oki Electric Ind Co Ltd 浮動小数点乗算器丸め処理方式
US4841468A (en) * 1987-03-20 1989-06-20 Bipolar Integrated Technology, Inc. High-speed digital multiplier architecture
US4876660A (en) * 1987-03-20 1989-10-24 Bipolar Integrated Technology, Inc. Fixed-point multiplier-accumulator architecture
JPS63298526A (ja) * 1987-05-29 1988-12-06 Yokogawa Medical Syst Ltd 浮動小数点加算装置
JPH01111229A (ja) * 1987-10-26 1989-04-27 Nec Corp 浮動小数点加減算器
US4958312A (en) * 1987-11-09 1990-09-18 Lsi Logic Corporation Digital multiplier circuit and a digital multiplier-accumulator circuit which preloads and accumulates subresults
US4941120A (en) * 1989-04-17 1990-07-10 International Business Machines Corporation Floating point normalization and rounding prediction circuit
US5208770A (en) * 1989-05-30 1993-05-04 Fujitsu Limited Accumulation circuit having a round-off function
US5128889A (en) * 1990-02-22 1992-07-07 Matsushita Electric Industrial Co., Ltd. Floating-point arithmetic apparatus with compensation for mantissa truncation
JPH0473249A (ja) * 1990-07-14 1992-03-09 Oji Paper Co Ltd 不織布の製造方法及び装置
JP3199371B2 (ja) * 1990-07-30 2001-08-20 松下電器産業株式会社 丸め装置
JPH0580978A (ja) * 1991-09-18 1993-04-02 Fujitsu Ltd 演算処理回路
US5521855A (en) * 1991-11-29 1996-05-28 Sony Corporation Multiplying circuit
JPH05224888A (ja) * 1992-02-13 1993-09-03 Fujitsu Ltd 小数点位置可変型データの乗算回路
JP3222313B2 (ja) * 1993-04-27 2001-10-29 松下電器産業株式会社 演算装置及び演算方法
JPH06348455A (ja) * 1993-06-14 1994-12-22 Matsushita Electric Ind Co Ltd 乗算における丸め込み方法及び乗算回路
JPH07114454A (ja) * 1993-10-14 1995-05-02 Sony Corp 乗算回路および乗算方法
US6038583A (en) * 1997-10-23 2000-03-14 Advanced Micro Devices, Inc. Method and apparatus for simultaneously multiplying two or more independent pairs of operands and calculating a rounded products

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4999801A (en) * 1988-07-15 1991-03-12 Fujitsu Limited Floating point operation unit in division and square root operations
US4926370A (en) * 1989-04-17 1990-05-15 International Business Machines Corporation Method and apparatus for processing postnormalization and rounding in parallel
US5276634A (en) * 1990-08-24 1994-01-04 Matsushita Electric Industrial Co., Ltd. Floating point data processing apparatus which simultaneously effects summation and rounding computations
US5341319A (en) * 1993-02-10 1994-08-23 Digital Equipment Corporation Method and apparatus for controlling a rounding operation in a floating point multiplier circuit

Also Published As

Publication number Publication date
EP0869432A1 (en) 1998-10-07
KR19980080981A (ko) 1998-11-25
EP0869432B1 (en) 2002-10-02
DE69808362D1 (de) 2002-11-07
DE69808362T2 (de) 2003-03-06
US6167420A (en) 2000-12-26
US6167419A (en) 2000-12-26

Similar Documents

Publication Publication Date Title
KR100556568B1 (ko) 승산방법및승산회로
JP3719509B2 (ja) シリアル演算パイプライン、演算装置、算術論理演算回路およびシリアル演算パイプラインによる演算方法
JPH1195981A (ja) 乗算回路
US5359548A (en) Floating-point arithmetic system having multiple-input addition and subtraction means
US5633897A (en) Digital signal processor optimized for decoding a signal encoded in accordance with a Viterbi algorithm
JP2835153B2 (ja) 高基数除算器
GB2338323A (en) Division and square root calculating circuit
US5539685A (en) Multiplier device with overflow detection function
US5459683A (en) Apparatus for calculating the square root of the sum of two squares
US4677583A (en) Apparatus for decimal multiplication
US4785412A (en) Double precision approximate quotient network
JP3252954B2 (ja) 乗算方法および乗算回路
JP3660075B2 (ja) 除算装置
US6983298B2 (en) Method and apparatus for linear interpolation using gradient tables
JPH0816364A (ja) カウンタ回路とそれを用いたマイクロプロセッサ
US7047271B2 (en) DSP execution unit for efficient alternate modes for processing multiple data sizes
US6144979A (en) Method and apparatus for performing multiply operation of floating point data in 2-cycle pipeline scheme
KR100309520B1 (ko) 라운드오프기능을갖는승산방법및승산회로
EP0356940B1 (en) Finite state machine
KR100900790B1 (ko) 재구성형 프로세서 연산 방법 및 장치
JP2951685B2 (ja) 固定小数点演算器
KR100251547B1 (ko) 디지탈신호처리기(Digital Sgnal Processor)
US6470369B1 (en) Euclid mutual division arithmetic circuit and processing circuit
JP2803442B2 (ja) 開平装置
EP0901106B1 (en) System and method using mode bits to support multiple coding standards

Legal Events

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

Payment date: 20110126

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee