KR20140120373A - 부동 소수점 상수 생성 명령 - Google Patents

부동 소수점 상수 생성 명령 Download PDF

Info

Publication number
KR20140120373A
KR20140120373A KR1020147024986A KR20147024986A KR20140120373A KR 20140120373 A KR20140120373 A KR 20140120373A KR 1020147024986 A KR1020147024986 A KR 1020147024986A KR 20147024986 A KR20147024986 A KR 20147024986A KR 20140120373 A KR20140120373 A KR 20140120373A
Authority
KR
South Korea
Prior art keywords
field
floating
value
constant value
point constant
Prior art date
Application number
KR1020147024986A
Other languages
English (en)
Other versions
KR101763286B1 (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 KR20140120373A publication Critical patent/KR20140120373A/ko
Application granted granted Critical
Publication of KR101763286B1 publication Critical patent/KR101763286B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants

Landscapes

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

Abstract

명령으로부터 부동 소수점 상수 값을 생성하기 위한 시스템들 및 방법들이 기재된다. 명령의 제 1 필드는 부동 소수점 상수 값의 부호 비트로서 디코딩된다. 명령의 제 2 필드는 부동 소수점 상수 값의 지수 값에 대응하도록 디코딩된다. 명령의 제 3 필드는 부동 소수점 상수 값의 유효수에 대응하도록 디코딩된다. 제 1 필드, 제 2 필드, 및 제 3 필드는 부동 소수점 상수 값을 형성하도록 결합된다. 지수 값은 바이어스를 포함할 수도 있으며, 바이어스 상수는 바이어스를 보상하기 위해 지수 값에 부가될 수도 있다. 제 3 필드는 유효수의 최상위 비트들을 포함할 수도 있다. 선택적으로, 제 2 필드 및 제 3 필드는, 그들이 부동 소수점 상수 값을 형성하도록 결합되기 전에 제 1 시프트 값 및 제 2 시프트 값만큼 각각 시프팅될 수도 있다.

Description

부동 소수점 상수 생성 명령{FLOATING POINT CONSTANT GENERATION INSTRUCTION}
기재된 실시예들은 부동 소수점 동작들에 관련된다. 더 상세하게는, 예시적인 실시예들은 일반적으로 사용되는 부동 소수점 상수들을 생성하기 위한 명령들에 관련된다.
숫자들의 부동 소수점 표현들은, 정수 또는 고정 소수점 포맷들에서 지원될 수 있는 것보다 더 광범위의 값들을 지원하기 위한 컴퓨팅 시스템들에서 유용하다. 부동 소수점 숫자들에서, (10진/2진) 기수점은 "부동(float)"하는 것이 허용되며, 이는 작은 수의 비트들을 사용하여 광범위의 값들을 인코딩하는 것을 가능하게 한다. 많은 부동 소수점 숫자들은, 광범위로 인해, 정밀도의 심각한 손실 또는 종종, 에러들/익셉션들 없이는 고정 소수점 포맷들로 효율적으로 표현되지 않을 수도 있다.
몇몇 현대의 프로세서들은, 부동 소수점 포맷으로 표현된 숫자들로 동작할 수도 있는 부동 소수점 명령들을 지원한다. 부동 소수점 명령들을 정수/고정 소수점 프로세서 파이프라인들에 통합시키는 것은 과제들을 제시한다. 예를 들어, 정밀도의 잠정적 손실은, 부동 소수점 명령들에서 부동 소수점 상수들 또는 즉시값들을 인코딩하는 것에서 과제들을 제기한다.
컴퓨터 프로세서들에 대한 종래의 명령 세트 아키텍처들(ISA)은 즉시값을 특정하는 명령들을 일반적으로 포함한다. 일반적으로, 즉시값을 특정하는 명령들은 명령의 지정된 필드에서 명령 그 자체 내에 즉시값을 포함한다. 명령들의 즉시값 필드들에 대해 이용가능한 비트들의 개수는 매우 작고, 일반적으로, 명령의 비트-폭보다 훨씬 작다. 따라서, 부동 소수점 명령들은, 작은 비트-폭들의 즉시값 필드들에서의 부동 소수점 즉시값들을 정확히 특정하는 것이 가능하지 않을 수도 있다. 따라서, 관습적으로, 부동 소수점 상수들/즉시값들은 메모리로부터 바로 로딩되거나 원하는 부동 소수점 상수들을 생성하기 위한 커스터마이징된 명령들에 의해 그들 전체로 형성된다. 몇몇 접근법들은, 0.0, 1.0, 및 2.0과 같은 특정한 부동 소수점 값들을 레지스터들로 하드-코딩하는 것을 포함할 수도 있다. 인식될 수 있는 바와 같이, 부동 소수점 상수들을 생성하기 위한 그러한 종래의 기술들은 증가된 레이턴시, 증가된 코드 사이즈, 및/또는 증가된 하드웨어를 초래한다.
따라서, 부동 소수점 명령들에 대한 부동 소수점 상수들/즉시값들과 연관된 상술된 제한들을 극복하기 위한 당업계에서의 필요성이 존재한다.
본 발명의 예시적인 실시예들은, 명령으로부터 부동 소수점 상수 값을 생성하기 위한 시스템들 및 장치에 관련된다.
예를 들어, 일 예시적인 실시예는, 부동 소수점 상수 값의 부호 비트로서 명령의 제 1 필드를 디코딩하는 단계; 부동 소수점 상수 값의 지수 값에 대응하도록 명령의 제 2 필드를 디코딩하는 단계; 부동 소수점 상수 값의 유효수에 대응하도록 명령의 제 3 필드를 디코딩하는 단계; 및 부동 소수점 상수 값을 형성하도록 제 1 필드, 제 2 필드, 및 제 3 필드를 결합시키는 단계를 포함하는, 명령으로부터 부동 소수점 상수 값을 생성하는 방법에 관련된다. 선택적으로, 제 2 필드 및 제 3 필드는, 필드들이 부동 소수점 상수 값을 형성하도록 결합되기 전에 제 1 시프트 값 및 제 2 시프트 값만큼 각각 시프팅될 수도 있다.
다른 예시적인 실시예는 부동 소수점 상수 값을 생성하기 위한 명령에 관련되는데, 여기서 명령은, 부동 소수점 상수 값의 부호 비트에 대응하는 제 1 필드; 부동 소수점 상수 값의 지수 값에 대응하는 제 2 필드; 및 부동 소수점 상수 값의 유효수에 대응하는 제 3 필드를 포함한다.
또 다른 예시적인 실시예는, 부동 소수점 상수 값의 부호 비트로서 명령의 제 1 필드를 디코딩하기 위한 수단; 부동 소수점 상수 값의 지수 값에 대응하도록 명령의 제 2 필드를 디코딩하기 위한 수단; 부동 소수점 상수 값의 유효수에 대응하도록 명령의 제 3 필드를 디코딩하기 위한 수단; 및 부동 소수점 상수 값을 형성하도록 제 1 필드, 제 2 필드, 및 제 3 필드를 결합시키기 위한 수단을 포함하는, 명령으로부터 부동 소수점 상수 값을 생성하기 위한 시스템에 관련된다.
다른 예시적인 실시예는, 프로세서에 의해 실행된 경우 프로세서로 하여금 명령으로부터 부동 소수점 상수 값을 생성하게 하기 위한 동작들을 수행하게 하는 코드를 포함하는 비-일시적인 컴퓨터-판독가능 저장 매체에 관련되며, 비-일시적인 컴퓨터-판독가능 저장 매체는, 부동 소수점 상수 값의 부호 비트로서 명령의 제 1 필드를 디코딩하기 위한 코드; 부동 소수점 상수 값의 지수 값에 대응하도록 명령의 제 2 필드를 디코딩하기 위한 코드; 부동 소수점 상수 값의 유효수에 대응하도록 명령의 제 3 필드를 디코딩하기 위한 코드; 및 부동 소수점 상수 값을 형성하도록 제 1 필드, 제 2 필드, 및 제 3 필드를 결합시키기 위한 코드를 포함한다.
첨부된 도면들은 본 발명의 실시예들의 설명에 도움이 되도록 제시되며 실시예들의 한정이 아닌 단지 실시예들의 설명을 위해 제공된다.
도 1a은 예시적인 실시예에 따른 부동 소수점 즉시 필드(immediate field)를 도시한다.
도 1b는, 도 1a의 부동 소수점 즉시 필드의 지수 및 유효수 필드들에 적용되는 선택적 제 1 및 제 2 시프트 양들을 도시한다.
도 2는 예식적인 실시예들에 따른, 명령으로부터 부동 소수점 상수 값을 생성하는 방법의 흐름도 예시이다.
도 3은 예시적인 실시예들에 따른 부동 소수점 상수 값들을 생성하기 위한 명령들이 유리하게 이용될 수도 있는 예시적인 무선 통신 시스템(300)을 도시한다.
본 발명의 양상들은, 본 발명의 특정한 실시예들에 관련된 다음의 설명 및 관련된 도면들에서 기재된다. 대안적인 실시예들은 본 발명의 범위로부터 벗어나지 않으면서 고안될 수도 있다. 부가적으로, 본 발명의 잘-알려진 엘리먼트들은, 본 발명의 관련 세부사항들을 불명료하게 하지 않기 위해 상세하게 설명되지 않거나 생략될 것이다.
단어 "예시적인"은 "예, 예시, 또는 예증으로서 기능하는 것"을 의미하도록 본 명세서에서 사용된다. "예시적인"것으로서 본 명세서에 설명된 임의의 실시예는 다른 실시예들에 비해 바람직하거나 유리한 것으로서 해석될 필요는 없다. 유사하게, 용어 "본 발명의 실시예들"은, 본 발명의 모든 실시예들이 설명된 특성, 이점 또는 동작 모드를 포함하는 것을 요구하지는 않는다.
본 명세서에 사용된 용어는 특정 실시예들을 설명하려는 목적만을 위한 것이며, 본 발명의 실시예들을 제한하는 것으로 의도되지 않는다. 본 명세서에 사용된 바와 같이, 맥락이 명확하게 달리 표시하지 않으면, 단수 형태들("a", "an" 및 "the")은 복수 형태들을 또한 포함하도록 의도된다. 용어들 "구비하는", "구비", "포함하는" 및/또는 "포함"이 본 명세서에서 사용된 경우, 나타낸 특성들, 정수들, 단계들, 동작들, 엘리먼트들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 또는 그 초과의 다른 특성들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들, 및/또는 이들의 그룹들의 존재 또는 부가를 배제하지 않음을 추가적으로 이해할 것이다.
추가적으로, 많은 실시예들은, 예를 들어 컴퓨팅 디바이스의 엘리먼트들에 의해 수행될 동작들의 시퀀스들의 관점들에서 설명된다. 본 명세서에 설명된 다양한 동작들이 특정한 회로들(예를 들어, 주문형 집적회로(ASIC)들)에 의해, 하나 또는 그 초과의 프로세서들에 의해 실행되는 프로그램 명령들에 의해, 또는 이 둘의 결합에 의해 수행될 수 있음이 인식될 것이다. 부가적으로, 본 명세서에 설명된 동작들의 이들 시퀀스는 실행 시에, 연관된 프로세서로 하여금 본 명세서에 설명된 기능을 수행하게 할 컴퓨터 명령들의 대응하는 세트가 저장된 임의의 형태의 컴퓨터 판독가능 저장 매체 내에서 완전히 구현되는 것으로 고려될 수 있다. 따라서, 본 발명의 다양한 양상들은 다수의 상이한 형태들로 구현될 수도 있으며, 이들 전부는 청구된 요지의 범위 내에 있는 것으로 고려된다. 부가적으로, 본 명세서에 설명된 실시예들의 각각에 대해, 임의의 그러한 실시예들의 대응하는 형태는, 예를 들어, 설명된 동작을 수행 "하도록 구성된 로직"으로서 본 명세서에서 설명될 수도 있다.
예시적인 실시예들은, 프로세싱 시스템들에서 정수 파이프라인들에 대해 미리존재하는 아키텍처를 사용하여, 일반적으로 직면(encounter)하는 부동 소수점 값들을 생성하는 것에 관련된다. 예를 들어 명령의 즉시값 필드들에서, 실시예들은 부동 소수점 상수들을 특정하기 위한 하나 또는 그 초과의 명령들을 포함한다. 즉시값 필드 내의 하나 또는 그 초과의 서브필드들은, 특정된 부동 소수점 상수에 대응하는 부호(sign), 유효수, 바이어스, 및 지수 값들과 같은 정보를 포함할 수도 있다. 서브필드들은, 특정된 부동 소수점 상수를 생성하도록 적절하게 추출되고 어셈블링될 수도 있다.
당업자들은 부동 소수점 숫자들을 표현하기 위한 종래의 포맷들을 인지할 것이다. 일반적으로, 부동 소수점 숫자는 부동 소수점 숫자의 부호(포지티브/네거티브)를 표시하기 위해 부호 비트를 포함할 수도 있다. 또한, 부동 소수점 숫자는 유효수("가수"로서 또한 알려짐)에 대응하는 다수의 비트들을 포함하며, 이는 부동 소수점 숫자의 유효 자릿수들(예를 들어, 선행하는 0들을 포함하지 않는 자릿수들)을 포함한다. 일반적으로, 유효수의 비트들의 개수는 부동 소수점 숫자가 표현할 수 있는 정밀도에 관련된다. 유효수는, 부동 소수점 숫자의 매그니튜드(magnitude)를 제공하기 위해, 가정된 기저(base)를 갖는 부동 소수점 숫자에서 특정된 지수 값에 의해 증가된다. 예를 들어, 2진 수들에 대해 가정된 기저는 2이고 10진 수들에 대해 가정된 기저는 10이다. 수학적 표기법에서, 부동 소수점 숫자의 값은 적절한 부호와 식 유효수*기저^지수에 의해 도출된다.
종종, 지수 값은, 지수의 범위를 시프팅하기 위해, 특정된 또는 가정된 바이어스 값에 의해 오프셋될 수도 있다. 종래의 구현들에서, 바이어스 값은, 실제의 지수 값을 획득하기 위해 부동 소수점 숫자로부터 추출된 지수 값에 부가될 수도 있다. 추가적으로, 유효수 내의 기수점은 미리결정된 포맷으로 명시적으로 특정될 수도 있다. 그러나, 종래의 구현들에서, 기수점은 유효수에서 고정된 포지션에 위치될 것으로 가정되고, 지수 값은 기수점의 부동 속성을 달성하도록 적절히 조정된다. 예를 들어, 10진 기수점은, 유효수의 최상위 자릿수 다음에 위치될 기수점을 시프팅시키고 지수값을 적절히 증가시킴으로써 10진수 12.3×10^10이 1.23×10^11과 같이 표현될 수도 있도록, 유효수의 최상위 자릿수 다음에 위치되도록 균일하게 특정될 수도 있다.
상술된 필드들을 이용하여 부동 소수점 숫자들을 표현하기 위한 IEEE-754 표준과 같은 표준 포맷들이 당업계에 잘 알려져 있다. IEEE-654 표준은, 현대의 프로세싱 시스템들에서 사용되는 부동 소수점 숫자들을 위한 단일 정밀도 및 2배 정밀도 표준을 포함한다. 기본적으로, 단일 정밀도 포맷은, 부호 비트, 23-비트 유효수 필드 및 127의 바이어스 값을 이용하는 8-비트 지수 필드를 포함하는 32-비트 2진 부동 소수점 숫자들을 포함한다. 2배 정밀도 포맷은, 부호 비트, 52-비트 유효수 필드, 및 1023의 바이어스 값을 이용하는 11-비트 지수 필드를 포함하는 64-비트 2진 부동 소수점 숫자들을 포함한다. IEEE-754 표준의 다양한 다른 프로비전들은 본 명세서에서 상세히 설명되지 않을 것이지만, 예시적인 실시예들이 단일 정밀도 및 2배 정밀도 포맷들 둘 모두에 대해 IEEE-754 표준과 호환가능할 수도 있다는 것이 이해될 것이다.
예를 들어, 예시적인 실시예들은, 부동 소수점 상수들로서 사용하기 위한 단일 정밀도 및 2배 정밀도 부동 소수점 값들을 생성하기 위해 명령들 "SFMAKE" 및 "DFMAKE"를 포함할 수도 있다. 이들 명령들은, 예를 들어, 디지털 신호 프로세서들, 마이크로프로세서들, 또는 다른 범용 프로세서들과 관련된 애플리케이션들에서 일반적으로 직면할 수도 있는 부동 소수점 값들의 큰 세트를 생성하기 위해 사용될 수도 있다.
일 예시적인 실시예에서, 11-비트 부동 소수점 즉시 필드를 특정하는 예시적인 명령은, 부호 비트, 6-비트 유효수 필드, 및 4-비트 지수 필드를 포함하는 것으로서 인지될 수도 있다. 미리결정된 바이어스 값은, 부동 소수점 상수 값이 단일 정밀도로 표현되었는지 또는 2배 정밀도로 표현되었는지에 기초하여 적용될 수도 있다. 이러한 예시에서, 6의 바이어스 값이 적용가능한 것으로 가정될 수도 있다. 이러한 예시적인 명령은, [+,-][1.0, 1+63/64]*2^[-6,+9]에 의해 표기되는 광범위의 상수들에 속해 있는 부동 소수점 숫자들을 생성하기 위해 사용될 수도 있다. 예를 들어, 상수들의 이러한 범위 내에서 매그니튜드들의 범위 [1, 128]의 모든 포지티브 및 네거티브 정수들이 생성될 수 있다. 추가적으로, 상수들의 범위 내에서, 매그니튜드들 [2, 256]의 모든 포지티브 및 네거티브 짝수 정수들이 생성될 수 있다. 매그니튜드 1000의 포지티브 및 네거티브 정수들이 또한 생성될 수 있다. 0.25, 0.5, 1/32(및 그것의 많은 배수들), 1.5, 1/256 등과 같은 매그니튜드들의 많은 일반적으로 사용되는 분수 값(포지티브 및 네거티브 둘 모두)들이 또한 생성될 수 있다. 당업자들은, 예시적인 명령에서 상수들의 범위에 의해 커버되는 많은 다른 부동 소수점 상수 값들을 인지할 것이다.
이제 도 1a를 참조하면, 상술된 바와 같은 부동 소수점 즉시 필드의 예시적인 포맷이 도시된다. 필드(100)는 (예를 들어, 상술된 바와 같이, 사이즈 11-비트의) 부동 소수점 즉시 필드를 표현할 수도 있다. 도시된 바와 같이, 필드(100)는 제 1 필드(102)에 부호 비트를 포함할 수도 있다. 제 2 필드(104)는 (예를 들어, 사이즈 4-비트의) 지수 값을 포함할 수도 있다. 대안적으로, 상술된 바와 같이, 제 2 필드(104)는 원하는 정밀도에 기초하는 바이어스 상수(예를 들어, 위의 설명에서와 같은 값 6)가 지수 값에 포함된 바이어스를 보상하기 위해 부가되는, 바이어스를 포함하는 지수 값을 포함할 수도 있다. 제 3 필드(106)는 (예를 들어, 사이즈 6-비트의) 유효수를 포함할 수도 있다. 몇몇 구현들에서, 제 3 필드(106)는 대응하는 부동 소수점 상의 유효수의 최상위 비트들만을 포함할 수도 있다.
도 1a를 계속해서 참조하면, 제 1 필드(102), 제 2 필드(104), 및 제 3 필드(106)는, 필드(100)에서의 부동 소수점 즉시 필드를 포함하는 부동 소수점 명령으로부터 디코딩되거나 추출될 수도 있다. (제 2 필드(104)에 포함된 적절한 바이어스를 이용하여) 디코딩된 필드들은, 부동 소수점 즉시 명령에서 특정된 대응하는 부동 소수점 상수를 생성하도록 적절하게 결합될 수도 있다.
이제 도 1b를 참조하면, 선택적 시프트 양들이 제 2 필드(104) 및 제 3 필드(106)에 적용될 수도 있다. 제 2 필드(104) 및 제 3 필드(106)는, 시프팅된 필드들(104' 및 106')을 각각 형성하도록, 도 1b에 도시된 바와 같이 제 1 및 제 2 시프트 값들(108_1 및 108_2)에 의해 표시되는 바와 같은 양들만큼 시프팅될 수도 있다. 제 1 및 제 2 시프트 값들(108_1 및 108_2)은, 부동 소수점 즉시 필드(100), 예를 들어, 제 4 및 제 5 필드들에 각각 포함될 수도 있다. 미리 결정된 상수 값들(도시되지 않음)은, 특정된 부동 소수점 상수 값을 생성하기 위해, 시프팅된 필드들(104' 및 106')에 부가될 수도 있다. 따라서, 상수 값을 시프팅시키고 부가하는 부가적인 단계들을 통해, 부동 소수점 상수 값의 정밀도가 변경될 수도 있다. 예를 들어, 유효수의 최상위 비트들만이 제 3 필드(106)에 포함될 수도 있고, 이들 최상위 비트들은, IEEE-754 표준에 대응하는 단일 정밀도 또는 2배 정밀도의 부동 소수점 상수 값들을 생성하기 위해 적절한 시프트 양만큼 시프팅될 수도 있다. 또한, 제 2 필드(104)에서 선택적 바이어스를 갖는 지수 값은 원하는 정밀도에 기초하거나 특정한 애플리케이션들에 기초하여 유사하게 시프팅될 수도 있다. 일 예에서, 제 1 및 제 2 시프트 값들(108_1 및 108_2)에 의해 표시되는 적절한 시프트 양들은, 부동 소수점 상수 값들을 생성하기 위한 명령이 상술된 SFMAKE 명령인지 또는 DFMAKE 명령인지에 기초할 수도 있다. 다른 실시예들에서, 단일 시프트 필드는 부동 소수점 즉시 필드(100)에 포함될 수도 있으며, 제 2 필드(104) 및 제 3 필드(106) 중 어느 하나 또는 둘 모두에 적용될 수도 있다.
따라서, 예시적인 실시예들은, 부동 소수점 상수 값들이 메모리로부터 로딩되도록 요구하지 않으면서, 일반적으로 사용되는 부동 소수점 값들을 생성하기 위한 하나 또는 그 초과의 명령들을 포함할 수도 있다. 기재된 실시예들은, 메모리 및 캐시들을 부동 소수점 상수 값들로 오염시키는 것을 회피한다. 따라서, 실시예들은 부동 소수점 상수 값들을 생성하기 위한 저전력 구현들을 야기한다. 실시예들은 나눗셈, 제곱근의 계산들 등과 같은 동작들에서 사용될 수도 있다. 광범위의 일반적으로 사용되는 상수들이 지원될 수도 있다. 실시예들은 단일 또는 2배 정밀도 포맷들을 완전히 지원할 수도 있으며, 부동 소수점 숫자들을 표현하기 위한 종래의 표준들과 호환가능할 수도 있다.
추가적으로, 실시예들은 본 명세서에 기재된 프로세스들, 기능들 및/또는 알고리즘들을 수행하기 위한 다양한 방법들을 포함함이 인식될 것이다. 예를 들어, 도 2에 도시된 바와 같이, 실시예는, 부동 소수점 상수 값의 부호 비트로서 명령의 제 1 필드(예를 들어, (102))를 디코딩하는 단계 - 블록(202); 부동 소수점 상수 값의 지수 값에 대응하도록 명령의 제 2 필드(예를 들어, (104))를 디코딩하는 단계 - 블록(204); 부동 소수점 상수 값의 유효수에 대응하도록 명령의 제 3 필드(예를 들어, (106))를 디코딩하는 단계 - 블록(206); 제 1 및 제 2 시프트 값들(예를 들어, (108_1 및 108_2))만큼 제 2 및 제 3 필드를 선택적으로 시프팅시키는 단계 - 블록(207); 및 부동 소수점 상수 값을 형성하도록 제 1 필드 및 선택적으로 시프팅된 제 2 및 제 3 필드를 결합시키는 단계 - 블록(208)을 포함하는, 명령으로부터 부동 소수점 상수 값을 생성하는 방법을 포함할 수 있다.
당업자들은, 정보 및 신호들이 다양한 상이한 기술들 및 기법들 중 임의의 기술 및 기법을 사용하여 표현될 수도 있음을 인식할 것이다. 예를 들어, 상기 설명 전반에 걸쳐 참조될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광학 필드들 또는 광학 입자들, 또는 이들의 임의의 결합에 의해 표현될 수도 있다.
추가적으로, 당업자들은 본 명세서에 기재된 실시예들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 결합들로서 구현될 수도 있음을 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 그들의 기능의 관점들에서 일반적으로 상술되었다. 그러한 기능이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지는 특정 애플리케이션 및 전체 시스템에 부과된 설계 제한들에 의존한다. 당업자들은 설명된 기능을 각각의 특정한 애플리케이션에 대해 다양한 방식들로 구현할 수도 있지만, 그러한 구현 결정들이 본 발명의 범위를 벗어나게 하는 것으로서 해석되지는 않아야 한다.
본 명세서에 기재된 실시예들과 관련하여 설명된 방법들, 시퀀스들 및/또는 알고리즘들은 직접 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이 둘의 결합으로 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하고, 저장 매체에 정보를 기입할 수 있도록 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 통합될 수도 있다.
따라서, 본 발명의 실시예는, 명령으로부터 부동 소수점 상수 값을 생성하기 위한 방법을 구현하는 컴퓨터 판독가능 매체들을 포함할 수 있다. 따라서, 본 발명은 예시된 예들로 제한되지 않으며, 본 명세서에 설명된 기능을 수행하기 위한 임의의 수단은 본 발명의 실시예들에 포함된다.
도 3을 참조하면, 예시적인 실시예들에 따른 부동 소수점 상수 값들을 생성하기 위한 명령을 포함하는 무선 디바이스의 특정한 예시적인 실시예의 블록도(300)가 도시되고 일반적으로 지정된다. 디바이스(300)는 디지털 신호 프로세서(DSP)(364)와 같은 프로세서를 포함한다. DSP(364)는 상술된 SFMAKE/DFMAKE 명령들을 포함할 수도 있는 메모리(365)를 포함한다. 또한, 도 3은 DSP(364) 및 디스플레이(328)에 커플링되는 디스플레이 제어기(326)를 포함한다. 코더/디코더(코덱)(334)(예를 들어, 오디오 및/또는 보이스 코덱)는 DSP(364)에 커플링될 수 있다. (비디오 코덱 및/또는 이미지 프로세서를 포함할 수도 있는) 디스플레이 제어기(326) 및 (모뎀을 포함할 수도 있는) 무선 제어기(340)와 같은 다른 컴포넌트들이 또한 도시된다. 스피커(336) 및 마이크로폰(338)은 코덱(334)에 커플링될 수 있다. 또한, 도 3은 무선 제어기(340)가 무선 안테나(342)에 커플링될 수 있다는 것을 표시한다. 특정한 실시예에서, DSP(364), 디스플레이 제어기(326), 메모리(332), 코덱(334), 및 무선 제어기(340)는 시스템 패키지(system-in-package) 또는 시스템-온-칩(system-on-chip) 디바이스(322)에 포함된다.
특정한 실시예에서, 입력 디바이스(330) 및 전력 공급부(344)는 시스템-온-칩 디바이스(322)에 커플링된다. 또한, 특정한 실시예에서, 도 3에 도시된 바와 같이, 디스플레이(328), 입력 디바이스(330), 스피커(336), 마이크로폰(338), 무선 안테나(342), 및 전력 공급부(344)는 시스템-온-칩 디바이스(322)의 외부에 있다. 그러나, 디스플레이(328), 입력 디바이스(330), 스피커(336), 마이크로폰(338), 무선 안테나(342), 및 전력 공급부(344) 각각은, 인터페이스 또는 제어기와 같은 시스템-온-칩 디바이스(322)의 컴포넌트에 커플링될 수 있다.
도 3이 무선 통신 디바이스를 도시하지만, DSP(364) 및 메모리(332)는 셋-톱 박스, 뮤직 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 내비게이션 디바이스, 개인 휴대 정보 단말(PDA), 고정 위치 데이터 유닛, 또는 컴퓨터에 또한 통합될 수도 있다는 것을 유의해야 한다. 프로세서(예를 들어, DSP(364))는 그러한 디바이스 내로 또한 통합될 수도 있다.
전술한 기재된 디바이스들 및 방법들은, 컴퓨터 판독가능 매체들 상에 저장된 GDSII 및 GERBER 컴퓨터 파일들로 설계될 수 있고, 이들로 구성될 수 있다. 이들 파일들은, 이들 파일들을 기초로 디바이스들을 제조하는 제조 핸들러들에 차례로 제공된다. 결과적인 제조물들은 반도체 웨이퍼들이며, 그 후, 그 웨이퍼들은 반도체 다이로 절단되고 반도체 칩으로 패키징된다. 그 후, 칩들은 상술된 디바이스들에서 이용된다.
전술한 개시는 본 발명의 예시적인 실시예들을 나타내지만, 다양한 변화들 및 변형들이 첨부된 청구항들에 의해 정의된 바와 같은 본 발명의 범위를 벗어나지 않으면서 본 명세서에서 행해질 수 있음을 유의해야 한다. 본 명세서에 설명된 본 발명의 실시예들에 따른 방법 청구항들의 기능들, 단계들 및/또는 동작들이 임의의 특정한 순서로 수행될 필요는 없다. 또한, 본 발명의 엘리먼트들이 단수로 설명되거나 청구될 수도 있지만, 단수형으로의 제한이 명시적으로 언급되지 않는 한 복수가 고려된다.

Claims (19)

  1. 명령으로부터 부동 소수점 상수 값을 생성하는 방법으로서,
    상기 부동 소수점 상수 값의 부호 비트로서 상기 명령의 제 1 필드를 디코딩하는 단계;
    상기 부동 소수점 상수 값의 지수 값에 대응하도록 상기 명령의 제 2 필드를 디코딩하는 단계;
    상기 부동 소수점 상수 값의 유효수에 대응하도록 상기 명령의 제 3 필드를 디코딩하는 단계; 및
    상기 부동 소수점 상수 값을 형성하도록 상기 제 1 필드, 상기 제 2 필드, 및 상기 제 3 필드를 결합시키는 단계를 포함하는, 명령으로부터 부동 소수점 상수 값을 생성하는 방법.
  2. 제 1 항에 있어서,
    상기 지수 값은 바이어스를 포함하는, 명령으로부터 부동 소수점 상수 값을 생성하는 방법.
  3. 제 2 항에 있어서,
    상기 지수 값에 포함된 상기 바이어스를 보상하도록 바이어스 상수에 상기 지수 값을 부가하는 것을 부가하는 단계를 더 포함하는, 명령으로부터 부동 소수점 상수 값을 생성하는 방법.
  4. 제 1 항에 있어서,
    상기 부동 소수점 상수 값은, 제 1 시프트 값만큼 상기 제 2 필드를 그리고 제 2 시프트 값만큼 상기 제 3 필드를 시프팅시키고 시프팅된 제 2 필드 및 제 3 필드를 미리결정된 상수 값에 부가함으로써 생성되는, 명령으로부터 부동 소수점 상수 값을 생성하는 방법.
  5. 제 1 항에 있어서,
    상수 부동 소수점 상수 값은 IEEE 754 단일 정밀도 포맷 또는 2배 정밀도 포맷 중 하나에 따라 형성되는, 명령으로부터 부동 소수점 상수 값을 생성하는 방법.
  6. 제 1 항에 있어서,
    상기 제 3 필드는, 부동 소수점 상수 값의 유효수의 최상위 비트들을 포함하는, 명령으로부터 부동 소수점 상수 값을 생성하는 방법.
  7. 부동 소수점 상수 값을 생성하기 위한 명령으로서,
    상기 명령은,
    상기 부동 소수점 상수 값의 부호 비트에 대응하는 제 1 필드;
    상기 부동 소수점 상수 값의 지수 값에 대응하는 제 2 필드; 및
    상기 부동 소수점 상수 값의 유효수에 대응하는 제 3 필드를 포함하는, 부동 소수점 상수 값을 생성하기 위한 명령.
  8. 제 7 항에 있어서,
    상기 부동 소수점 상수 값은 상기 제 1 필드, 상기 제 2 필드, 및 상기 제 3 필드를 결합시킴으로써 형성되는, 부동 소수점 상수 값을 생성하기 위한 명령.
  9. 제 7 항에 있어서,
    상기 지수 값은 바이어스를 포함하고, 바이어스 상수는 상기 지수 값에 포함된 상기 바이어스를 보상하기 위해 부가되는, 부동 소수점 상수 값을 생성하기 위한 명령.
  10. 제 7 항에 있어서,
    상기 제 3 필드는 상기 유효의 최상위 비트들을 포함하는, 부동 소수점 상수 값을 생성하기 위한 명령.
  11. 제 7 항에 있어서,
    제 1 시프트 값에 대응하는 제 4 필드, 및 제 2 시프트 값에 대응하는 제 5 필드를 더 포함하고,
    상기 부동 소수점 상수 값은, 상기 제 1 시프트 값만큼 상기 제 2 필드를 그리고 상기 제 2 시프트 값만큼 상기 제 3 필드를 시프팅시키고 시프팅된 제 2 필드 및 제 3 필드를 미리결정된 상수 값에 부가함으로써 생성되는, 부동 소수점 상수 값을 생성하기 위한 명령.
  12. 제 7 항에 있어서,
    상기 부동 소수점 상수 값은 IEEE 754 단일 정밀도 포맷 또는 2배 정밀도 포맷 중 하나에 따라 형성되는, 부동 소수점 상수 값을 생성하기 위한 명령.
  13. 제 7 항에 있어서,
    상기 명령은 디바이스로 구현되며, 상기 디바이스는 적어도 하나의 반도체 다이에 집적되는, 부동 소수점 상수 값을 생성하기 위한 명령.
  14. 제 7 항에 있어서,
    상기 명령은 디바이스로 구현되며, 상기 디바이스는 셋 톱 박스, 뮤직 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 내비게이션 디바이스, 통신 디바이스, 개인 휴대 정보 단말(PDA), 고정 위치 데이터 유닛, 및 컴퓨터로 구성되는 그룹으로부터 선택되는, 부동 소수점 상수 값을 생성하기 위한 명령.
  15. 명령으로부터 부동 소수점 상수 값을 생성하기 위한 시스템으로서,
    상기 부동 소수점 상수 값의 부호 비트로서 상기 명령의 제 1 필드를 디코딩하기 위한 수단;
    상기 부동 소수점 상수 값의 지수 값에 대응하도록 상기 명령의 제 2 필드를 디코딩하기 위한 수단;
    상기 부동 소수점 상수 값의 유효수에 대응하도록 상기 명령의 제 3 필드를 디코딩하기 위한 수단; 및
    상기 부동 소수점 상수 값을 형성하도록 상기 제 1 필드, 상기 제 2 필드, 및 상기 제 3 필드를 결합시키기 위한 수단을 포함하는, 명령으로부터 부동 소수점 상수 값을 생성하기 위한 시스템.
  16. 제 15 항에 있어서,
    상기 지수는 바이어스를 포함하고,
    상기 시스템은, 상기 지수 값에 포함된 상기 바이어스를 보상하기 위해 상기 지수 값에 바이어스 상수를 부가하기 위한 수단을 더 포함하는, 명령으로부터 부동 소수점 상수 값을 생성하기 위한 시스템.
  17. 제 15 항에 있어서,
    상기 제 2 필드 및 상기 제 3 필드를 미리결정된 양만큼 시프팅시키기 위한 수단, 및 시프팅된 제 2 필드 및 제 3 필드를 미리결정된 상수 값에 부가하기 위한 수단을 더 포함하는, 명령으로부터 부동 소수점 상수 값을 생성하기 위한 시스템.
  18. 프로세서에 의해 실행된 경우 상기 프로세서로 하여금 명령으로부터 부동 소수점 상수 값을 생성하기 위한 동작들을 수행하게 하는 코드를 포함하는 비-일시적인 컴퓨터-판독가능 저장 매체로서,
    상기 비-일시적인 컴퓨터-판독가능 저장 매체는,
    상기 부동 소수점 상수 값의 부호 비트로서 상기 명령의 제 1 필드를 디코딩하기 위한 코드;
    상기 부동 소수점 상수 값의 지수 값에 대응하도록 상기 명령의 제 2 필드를 디코딩하기 위한 코드;
    상기 부동 소수점 상수 값의 유효수에 대응하도록 상기 명령의 제 3 필드를 디코딩하기 위한 코드; 및
    상기 부동 소수점 상수 값을 형성하도록 상기 제 1 필드, 상기 제 2 필드, 및 상기 제 3 필드를 결합시키기 위한 코드를 포함하는, 비-일시적인 컴퓨터-판독가능 저장 매체.
  19. 명령으로부터 부동 소수점 상수 값을 생성하기 위한 장치로서,
    상기 부동 소수점 상수 값의 부호 비트로서 상기 명령의 제 1 필드를 디코딩하도록 구성된 로직;
    상기 부동 소수점 상수 값의 지수 값에 대응하도록 상기 명령의 제 2 필드를 디코딩하도록 구성된 로직;
    상기 부동 소수점 상수 값의 유효수에 대응하도록 상기 명령의 제 3 필드를 디코딩하도록 구성된 로직; 및
    상기 부동 소수점 상수 값을 형성하도록 상기 제 1 필드, 상기 제 2 필드, 및 상기 제 3 필드를 결합시키도록 구성된 로직을 포함하는, 명령으로부터 부동 소수점 상수 값을 생성하기 위한 장치.
KR1020147024986A 2012-02-09 2013-02-08 부동 소수점 상수 생성 명령 KR101763286B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/369,693 US10289412B2 (en) 2012-02-09 2012-02-09 Floating point constant generation instruction
US13/369,693 2012-02-09
PCT/US2013/025401 WO2013119995A1 (en) 2012-02-09 2013-02-08 Floating point constant generation instruction

Publications (2)

Publication Number Publication Date
KR20140120373A true KR20140120373A (ko) 2014-10-13
KR101763286B1 KR101763286B1 (ko) 2017-07-31

Family

ID=47846130

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147024986A KR101763286B1 (ko) 2012-02-09 2013-02-08 부동 소수점 상수 생성 명령

Country Status (6)

Country Link
US (1) US10289412B2 (ko)
EP (1) EP2812793B1 (ko)
JP (1) JP6114315B2 (ko)
KR (1) KR101763286B1 (ko)
CN (1) CN104106045B (ko)
WO (1) WO2013119995A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10289412B2 (en) * 2012-02-09 2019-05-14 Qualcomm Incorporated Floating point constant generation instruction
WO2015076951A1 (en) * 2013-11-25 2015-05-28 Benson Dwayne M Integrated power, cooling, and heating device and method thereof
EP3075076B1 (en) * 2013-11-27 2019-09-04 Microchip Technology Incorporated Main clock high precision oscillator
US9455743B2 (en) * 2014-05-27 2016-09-27 Qualcomm Incorporated Dedicated arithmetic encoding instruction
CN104572018A (zh) * 2014-12-30 2015-04-29 杭州中天微系统有限公司 一种用于浮点常数生成的装置及方法
US9817662B2 (en) * 2015-10-24 2017-11-14 Alan A Jorgensen Apparatus for calculating and retaining a bound on error during floating point operations and methods thereof
US10235170B2 (en) 2016-09-30 2019-03-19 International Business Machines Corporation Decimal load immediate instruction

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5201056A (en) * 1990-05-02 1993-04-06 Motorola, Inc. RISC microprocessor architecture with multi-bit tag extended instructions for selectively attaching tag from either instruction or input data to arithmetic operation output
US5341320A (en) * 1993-03-01 1994-08-23 Motorola, Inc. Method for rapidly processing floating-point operations which involve exceptions
JPH08153310A (ja) 1994-11-28 1996-06-11 Sony Corp 磁気抵抗効果型薄膜磁気ヘッド
US5805475A (en) * 1995-02-10 1998-09-08 International Business Machines Corporation Load-store unit and method of loading and storing single-precision floating-point registers in a double-precision architecture
US5878266A (en) 1995-09-26 1999-03-02 Advanced Micro Devices, Inc. Reservation station for a floating point processing unit
US5940311A (en) 1996-04-30 1999-08-17 Texas Instruments Incorporated Immediate floating-point operand reformatting in a microprocessor
US5838984A (en) * 1996-08-19 1998-11-17 Samsung Electronics Co., Ltd. Single-instruction-multiple-data processing using multiple banks of vector registers
US6058465A (en) * 1996-08-19 2000-05-02 Nguyen; Le Trong Single-instruction-multiple-data processing in a multimedia signal processor
US5991531A (en) * 1997-02-24 1999-11-23 Samsung Electronics Co., Ltd. Scalable width vector processor architecture for efficient emulation
GB9712317D0 (en) * 1997-06-13 1997-08-13 Zeneca Ltd Composition, compound and use
US6298367B1 (en) * 1998-04-06 2001-10-02 Advanced Micro Devices, Inc. Floating point addition pipeline including extreme value, comparison and accumulate functions
US6519694B2 (en) * 1999-02-04 2003-02-11 Sun Microsystems, Inc. System for handling load errors having symbolic entity generator to generate symbolic entity and ALU to propagate the symbolic entity
US6487653B1 (en) * 1999-08-25 2002-11-26 Advanced Micro Devices, Inc. Method and apparatus for denormal load handling
US7330864B2 (en) 2001-03-01 2008-02-12 Microsoft Corporation System and method for using native floating point microprocessor instructions to manipulate 16-bit floating point data representations
US8185723B2 (en) * 2001-07-13 2012-05-22 Intel Corporation Method and apparatus to extract integer and fractional components from floating-point data
US7212959B1 (en) * 2001-08-08 2007-05-01 Stephen Clark Purcell Method and apparatus for accumulating floating point values
US7003539B1 (en) * 2001-08-08 2006-02-21 Pasternak Solutions Llc Efficiently determining a floor for a floating-point number
US7028067B2 (en) 2002-02-20 2006-04-11 International Business Machines Corporation Generation of mask-constrained floating-point addition and subtraction test cases, and method and system therefor
EP1545010A1 (en) 2003-12-18 2005-06-22 Deutsche Thomson-Brandt GmbH Method and device for transcoding N-bit words into M-bit words with M smaller N
GB2410097B (en) 2004-01-13 2006-11-01 Advanced Risc Mach Ltd A data processing apparatus and method for performing data processing operations on floating point data elements
JP2006154979A (ja) 2004-11-25 2006-06-15 Sony Corp 浮動小数点数演算回路
US7523434B1 (en) * 2005-09-23 2009-04-21 Xilinx, Inc. Interfacing with a dynamically configurable arithmetic unit
US8595279B2 (en) 2006-02-27 2013-11-26 Qualcomm Incorporated Floating-point processor with reduced power requirements for selectable subprecision
US7797360B2 (en) * 2006-04-06 2010-09-14 Sap Ag Sortable floating point numbers
US7885992B2 (en) 2006-06-22 2011-02-08 Honeywell International Inc. System and method for implementing irregular data formats
US8650231B1 (en) * 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US8006078B2 (en) * 2007-04-13 2011-08-23 Samsung Electronics Co., Ltd. Central processing unit having branch instruction verification unit for secure program execution
US8051117B2 (en) * 2007-04-26 2011-11-01 International Business Machines Corporation Shift significand of decimal floating point data
US8190664B2 (en) * 2007-04-26 2012-05-29 International Business Machines Corporation Employing a mask field of an instruction to encode a sign of a result of the instruction
US8051118B2 (en) 2007-04-26 2011-11-01 International Business Machines Corporation Composition of decimal floating point data
US7885995B2 (en) * 2007-06-13 2011-02-08 International Business Machines Corporation Processing service requests in a distributed environment
JP4629750B2 (ja) * 2008-03-31 2011-02-09 日立オートモティブシステムズ株式会社 組み込み制御装置
US8412760B2 (en) 2008-07-22 2013-04-02 International Business Machines Corporation Dynamic range adjusting floating point execution unit
US8244783B2 (en) * 2008-09-11 2012-08-14 International Business Machines Corporation Normalizer shift prediction for log estimate instructions
CN101685383A (zh) 2008-09-28 2010-03-31 杨高祥 计算器、基于直接对阶的自由精度浮点数的运算电路
US8706790B1 (en) * 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8645449B1 (en) * 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8407271B2 (en) * 2009-08-28 2013-03-26 Advanced Micro Devices, Inc. Method for floating point round to integer operation
US8412756B1 (en) * 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US20110125987A1 (en) * 2009-11-20 2011-05-26 Qualcomm Incorporated Dedicated Arithmetic Decoding Instruction
CN201628951U (zh) 2009-12-31 2010-11-10 西北工业大学 一种高速浮点规格化运算器
US8914430B2 (en) * 2010-09-24 2014-12-16 Intel Corporation Multiply add functional unit capable of executing scale, round, GETEXP, round, GETMANT, reduce, range and class instructions
US8745111B2 (en) * 2010-11-16 2014-06-03 Apple Inc. Methods and apparatuses for converting floating point representations
US20120191955A1 (en) * 2011-01-20 2012-07-26 Jonsson Ragnar H Method and system for floating point acceleration on fixed point digital signal processors
US8756601B2 (en) * 2011-09-23 2014-06-17 Qualcomm Incorporated Memory coherency acceleration via virtual machine migration
US8909690B2 (en) * 2011-12-13 2014-12-09 International Business Machines Corporation Performing arithmetic operations using both large and small floating point values
US10289412B2 (en) * 2012-02-09 2019-05-14 Qualcomm Incorporated Floating point constant generation instruction
US8825727B2 (en) * 2012-03-15 2014-09-02 International Business Machines Corporation Software-hardware adder
US20140067894A1 (en) * 2012-08-30 2014-03-06 Qualcomm Incorporated Operations for efficient floating point computations

Also Published As

Publication number Publication date
CN104106045B (zh) 2017-09-01
EP2812793B1 (en) 2016-09-28
US20130212357A1 (en) 2013-08-15
CN104106045A (zh) 2014-10-15
EP2812793A1 (en) 2014-12-17
JP6114315B2 (ja) 2017-04-12
KR101763286B1 (ko) 2017-07-31
WO2013119995A1 (en) 2013-08-15
US10289412B2 (en) 2019-05-14
JP2015512092A (ja) 2015-04-23

Similar Documents

Publication Publication Date Title
KR101763286B1 (ko) 부동 소수점 상수 생성 명령
US9110713B2 (en) Microarchitecture for floating point fused multiply-add with exponent scaling
US10540142B2 (en) Accuracy-conserving floating-point value aggregation
US10346133B1 (en) System and method of floating point multiply operation processing
JP4990977B2 (ja) 命令に応じた丸め処理の実行
CN105634499B (zh) 一种基于新短浮点型数据的数据转换方法
TWI641992B (zh) 浮點加法的計算裝置、計算方法以及計算系統
US9128697B1 (en) Computer numerical storage format with precision type indicator
US10095475B2 (en) Decimal and binary floating point rounding
US20140067894A1 (en) Operations for efficient floating point computations
JP2015512092A5 (ko)
WO2022052625A1 (zh) 一种定点与浮点转换器、处理器、方法以及存储介质
WO2016171823A1 (en) Division and root computation with fast result formatting
US20140089361A1 (en) Arithmetic processing apparatus and an arithmetic processing method
US9417842B2 (en) Idempotent representation of numbers in extensible languages
US9417839B1 (en) Floating point multiply-add-substract implementation
US20130060829A1 (en) Method and apparatus for additive range reduction
CN115268832A (zh) 浮点数取整的方法、装置以及电子设备
CN115202617A (zh) 一种浮点数重编码及解码方法、系统和装置
KR20240084631A (ko) 컴퓨팅 장치 및 이의 동작 방법
CN118051200A (zh) 数据格式转换装置及方法、电子设备、计算机存储介质
WO2013147776A1 (en) Conserving computing resources during error correction

Legal Events

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