• 제목/요약/키워드: floating-point arithmetic

검색결과 66건 처리시간 0.037초

MATLAB을 이용한 부동소수점 연산의 특이사항 분석 (Analysis of Some Strange Behaviors of Floating Point Arithmetic using MATLAB Programs)

  • 정태상
    • 전기학회논문지
    • /
    • 제56권2호
    • /
    • pp.428-431
    • /
    • 2007
  • A floating-point number system is used to represent a wide range of real numbers using finite number of bits. The standard the IEEE adopted in 1987 divides the range of real numbers into intervals of [$2^E,2^{E+1}$), where E is an Integer represented with finite bits, and defines equally spaced equal counts of discrete numbers in each interval. Since the numbers are defined discretely, not only the number representation itself includes errors but in floating-point arithmetic some strange behaviors are observed which cannot be agreed with the real world arithmetic. In this paper errors with floating-point number representation, those with arithmetic operations, and those due to order of arithmetic operations are analyzed theoretically with help of and verification with the results of some MATLAB program executions.

Division-by-Convergence 방식을 사용하는 24-비트 부동소수점 제산기에 대한 OpenGL 정확도의 대수적 검증 (Algebraic Accuracy Verification for Division-by-Convergence based 24-bit Floating-point Divider Complying with OpenGL)

  • 유세훈;이정우;김기철
    • 전기전자학회논문지
    • /
    • 제17권3호
    • /
    • pp.346-351
    • /
    • 2013
  • 모바일 시스템에서는 비용 및 전력 효율이 중요하기 때문에 부동소수점 연산기 개발 시 32-비트 데이터 형식대신 24-비트 데이터 형식을 사용하는 것이 좋다. 하지만 24-비트 데이터 형식을 사용할 경우 32-비트 데이터 형식에 비해 연산기의 정확도가 낮아질 수 있다. 3D 그래픽과 같이 연속적인 부동소수점 연산 처리가 많이 요구될 경우 연산기의 정확도에 대한 논의와 검증이 중요하다. 나눗셈은 3D 그래픽에 사용되는 연산 중 OpenGL에서 규정한 정확도를 만족하기 가장 어려운 연산 중 하나이다. 현재까지 OpenGL에서 규정한 정확도를 만족하는 것이 대수적으로 검증된 24-비트 부동소수점 제산기는 알려진 바가 없다. 본 논문에서는 24-비트 부동소수점 제산기를 분석하고, OpenGL ES 3.0에서 규정한 $10^{-5}$의 정확도를 만족함을 대수적으로 검증한다.

수퍼스칼라 마이크로프로세서용 부동 소수점 연산회로의 설계 (A design of floating-point arithmetic unit for superscalar microprocessor)

  • 최병윤;손승일;이문기
    • 한국통신학회논문지
    • /
    • 제21권5호
    • /
    • pp.1345-1359
    • /
    • 1996
  • This paper presents a floating point arithmetic unit (FPAU) for supescalar microprocessor that executes fifteen operations such as addition, subtraction, data format converting, and compare operation using two pipelined arithmetic paths and new rounding and normalization scheme. By using two pipelined arithmetic paths, each aritchmetic operation can be assigned into appropriate arithmetic path which high speed operation is possible. The proposed normalization an rouding scheme enables the FPAU to execute roundig operation in parallel with normalization and to reduce timing delay of post-normalization. And by predicting leading one position of results using input operands, leading one detection(LOD) operation to normalize results in the conventional arithmetic unit can be eliminated. Because the FPAU can execuate fifteen single-precision or double-precision floating-point arithmetic operations through three-stage pipelined datapath and support IEEE standard 754, it has appropriate structure which can be ingegrated into superscalar microprocessor.

  • PDF

자동 스케일링 기능이 지원되는 고정 소수집 디지털 시그날 프로세서 개발 시스템 (A Fixed-point Digital Signal Processor Development System Employing an Automatic Scaling)

  • 김시현;성원용
    • 전자공학회논문지A
    • /
    • 제29A권3호
    • /
    • pp.96-105
    • /
    • 1992
  • The use of fixed-point digital signal processors, such as the TMS 320C25, requires scaling of data at each arithmetic step to prevent overflows while keeping the accuracy. A software which automatizes this process is developed for TMS 320C25. The programmers use a model of a hypothetical floating-point digital signal processor and a floating-point format for data representation. However, the program and data are automatically translated to a fixed-point version by this software. Thus, the execution speed is not sacrificed. A fixed-point variable has a unique binary-point location, which is dependent on the range of the variable. The range is estimated from the floating-point simulation. The number of shifts needed for arithmetic or data transfer step is determined by the binary-points of the variables associated with the operation. A fixed-point code generator is also developed by using the proposed automatic scaling software. This code generator produces floating-point assembly programs from the specifiations of FIR, IIR, and adaptive transversal filters, then floating-point programs are transformed to fixed-point versions by the automatic scaling software.

  • PDF

IEEE 754 단정도 부동 소수점 연산용 곱셈기 설계 (Design of a Floating Point Multiplier for IEEE 754 Single-Precision Operations)

  • 이주훈;정태상
    • 대한전기학회:학술대회논문집
    • /
    • 대한전기학회 1999년도 추계학술대회 논문집 학회본부 B
    • /
    • pp.778-780
    • /
    • 1999
  • Arithmetic unit speed depends strongly on the algorithms employed to realize the basic arithmetic operations.(add, subtract multiply, and divide) and on the logic design. Recent advances in VLSI have increased the feasibility of hardware implementation of floating point arithmetic units and microprocessors require a powerful floating-point processing unit as a standard option. This paper describes the design of floating-point multiplier for IEEE 754-1985 Single-Precision operation. Booth encoding algorithm method to reduce partial products and a Wallace tree of 4-2 CSA is adopted in fraction multiplication part to generate the $32{\times}32$ single-precision product. New scheme of rounding and sticky-bit generation is adopted to reduce area and timing. Also there is a true sign generator in this design. This multiplier have been implemented in a ALTERA FLEX EPF10K70RC240-4.

  • PDF

효율적인 로그와 지수 연산을 위한 듀얼 페이즈 명령어 설계 (A Design of Dual-Phase Instructions for a effective Logarithm and Exponent Arithmetic)

  • 김치용;이광엽
    • 전기전자학회논문지
    • /
    • 제14권2호
    • /
    • pp.64-68
    • /
    • 2010
  • 본 논문은 작은 사이즈가 요구되는 제한적인 모바일 환경의 프로세서에서 별도의 연산기 없이 제안된 Dual Phase 명령어 구조를 이용해 효율적인 로그와 지수 연산이 가능한 방법을 제안한다. Floating Point 자료형의 지수부와 실수부를 추출하는 명령어 세트와 테일러 급수 전개를 이용해 로그의 근사치를 계산하여 24비트 단정도 부동 소수점을 연산하고, Dual Phase 명령어 구조를 활용해 명령어 실행 사이클을 줄였다. 제안된 구조는 별도의 연산기를 두는 구조보다 작은 사이즈를 유지하면서 성능저하를 33%까지 최소화 할 수 있는 구조이다.

Design of Pipelined Floating-Point Arithmetic Unit for Mobile 3D Graphics Applications

  • Choi, Byeong-Yoon;Ha, Chang-Soo;Lee, Jong-Hyoung;Salclc, Zoran;Lee, Duck-Myung
    • 한국멀티미디어학회논문지
    • /
    • 제11권6호
    • /
    • pp.816-827
    • /
    • 2008
  • In this paper, two-stage pipelined floating-point arithmetic unit (FP-AU) is designed. The FP-AU processor supports seventeen operations to apply 3D graphics processor and has area-efficient and low-latency architecture that makes use of modified dual-path computation scheme, new normalization circuit, and modified compound adder based on flagged prefix adder. The FP-AU has about 4-ns delay time at logic synthesis condition using $0.18{\mu}m$ CMOS standard cell library and consists of about 5,930 gates. Because it has 250 MFLOPS execution rate and supports saturated arithmetic including a number of graphics-oriented operations, it is applicable to mobile 3D graphics accelerator efficiently.

  • PDF

모바일 3D 그래픽 프로세서의 지오메트리 연산을 위한 부동 소수점 연산기 구현 (A design of Floating Point Arithmetic Unit for Geometry Operation of Mobile 3D Graphic Processor)

  • 이지명;이찬호
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2005년도 추계종합학술대회
    • /
    • pp.711-714
    • /
    • 2005
  • We propose floating point arithmetic units for geometry operation of mobile 3D graphic processor. The proposed arithmetic units conform to the single precision format of IEEE standard 754-1985 that is a standard of floating point arithmetic. The rounding algorithm applies the nearest toward zero form. The proposed adder/subtraction unit and multiplier have one clock cycle latency, and the inversion unit has three clock cycle latency. We estimate the required numbers of arithmetic operation for Viewing transformation. The first stage of geometry operation is composed with translation, rotation and scaling operation. The translation operation requires three addition and the rotation operation needs three addition and six multiplication. The scaling operation requires three multiplication. The viewing transformation is performed in 15 clock cycles. If the adder and the multiplier have their own in/out ports, the viewing transformation can be done in 9 clock cycles. The error margin of proposed arithmetic units is smaller than $10^{-5}$ that is the request in the OpenGL standard. The proposed arithmetic units carry out operations in 100MHz clock frequency.

  • PDF

부동소수점 명령어를 지원하는 ARM 프로세서의 설계 및 모의실행 (Design and Simulation of ARM Processor with Floating Point Instructions)

  • 이종복
    • 한국인터넷방송통신학회논문지
    • /
    • 제20권2호
    • /
    • pp.187-193
    • /
    • 2020
  • 마이크로프로세서에서 부동소수점 연산은 결과의 정확도를 높이기 위하여 실수형 데이터를 대상으로 시행하는 덧셈, 뺄셈, 곱셈, 나눗셈 등의 계산을 의미한다. 일반적으로 프로세서를 설계할 때는 복잡도 때문에 부동소수점 연산은 제외하고 정수형 연산만을 지원하는 경우가 많다. 그러나, 공학 기술 연산, 디지털 신호처리 뿐 만이 아니라, 오늘날 각광을 받고 있는 인공지능 및 신경망에 대한 연산을 수행하기 위하여 필요에 따라서 부동소수점 연산이 포함되어야 한다. 본 논문에서는 VHDL을 이용하여 부동소수점 연산 명령어 기능을 갖는 32 비트 ARMv4 계열의 프로세서를 설계하고, ModelSim으로 검증하였다. 그 결과, ARM의 부동소수점 명령어에 대한 연산을 성공적으로 수행할 수 있었다.

FPGA 상에서 은닉층 뉴런에 최적화된 MLP의 설계 방법 (MLP Design Method Optimized for Hidden Neurons on FPGA)

  • 경동욱;정기철
    • 정보처리학회논문지B
    • /
    • 제13B권4호
    • /
    • pp.429-438
    • /
    • 2006
  • 일반적으로 신경망은 비선형성 문제를 해결하기 위해서 소프트웨어로 많이 구현되었지만, 영상처리 및 패턴인식과 같은 실시간 처리가 요구되는 응용에서는 빠른 처리가 가능한 하드웨어로 구현되고 있다. 다양한 종류의 신경망 중에서 다층 신경망(MLP: multi-layer perceptron)의 하드웨어 설계는 빠른 처리속도와 적은 면적 그리고 구현의 용이성으로 고정소수점 연산을 많이 사용하였다. 하지만 고정소수점 연산을 사용하는 하드웨어 설계는 높은 정확도의 부동소수점 연산을 많이 사용하는 소프트웨어 MLP를 쉽게 적용할 수 없는 문제점을 가진다. 본 논문에서는 높은 정확도와 높은 유연성을 가지는 부동소수점 연산을 사용하면서도 은닉층 뉴런수를 주기(cycle)로 빠르게 수행하는 MLP의 완전 파이프라이닝(fully-pipelining) 설계방법을 제안한다. MLP는 주어진 문제에 의해서 자연스럽게 입력층과 출력층의 구조가 결정되지만, 은닉층 구조는 사용자에 의해서 결정된다. 그러므로 제안된 설계방법은 많은 반복수행이 요구되는 영상처리 및 패턴인식 등의 분야에서 은닉층 뉴런수를 최적화 하여 쉽게 성능 향상을 이룰 수 있다.