0% found this document useful (0 votes)
8 views12 pages

Wa0013.

The document presents a detailed overview of the Fixed Point Division using the Non-Restoring Algorithm, highlighting its efficiency in digital systems for fixed-point arithmetic. It covers the algorithm's principles, advantages, disadvantages, and implementation considerations, emphasizing its balance between speed and simplicity. The conclusion reiterates the algorithm's value in high-performance and resource-constrained environments, while acknowledging the need for careful management of its limitations.

Uploaded by

soumilimnp
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views12 pages

Wa0013.

The document presents a detailed overview of the Fixed Point Division using the Non-Restoring Algorithm, highlighting its efficiency in digital systems for fixed-point arithmetic. It covers the algorithm's principles, advantages, disadvantages, and implementation considerations, emphasizing its balance between speed and simplicity. The conclusion reiterates the algorithm's value in high-performance and resource-constrained environments, while acknowledging the need for careful management of its limitations.

Uploaded by

soumilimnp
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

KALYANI GOVERNMENT ENGINEERING COLLEGE

Presentation on
FIXED POINT DIVISION USING
NON-RESTORING ALGORITHM
Name : Soumili Sahu
Roll No. : 10201622071
Department : Electrical Engineering
Subject : Computer Organisation
Subject Code : OE-EE-501C
Semester : Fifth
Year : Third
TABLE OF
CONTENTS
Introduction

Non-Restoring Division Algorithm

Example

Advantages of Non-Restoring Division

Disadvantages of Non-Restoring Division

Implementation Considerations

Conclusion and References


INTRODUCTION
In digital systems, arithmetic operations such as addition, subtraction,
multiplication, and division are essential for processing data. Among these,
division is often the most complex and time-consuming operation. Fixed-point
arithmetic, where numbers are represented with a fixed number of digits after
the binary point, is commonly used in systems requiring efficient computation,
such as embedded systems and digital signal processing.

Division in fixed-point arithmetic can be performed using several algorithms,


one of which is the Non-Restoring Division Algorithm. This method is widely used
due to its efficiency in hardware implementations, where speed and resource
utilization are critical. Unlike the traditional restoring division algorithm, which
restores the partial remainder when an incorrect subtraction occurs, the non-
restoring algorithm avoids this step, improving overall performance.
NON-RESTORING DIVISION ALGORITHM
The core principle of the algorithm involves repeatedly subtracting the
divisor from the dividend. The quotient is determined based on the sign of
the result of each subtraction. If the result is positive, the quotient bit is set
to 1. If the result is negative, the quotient bit is set to 0. To compensate for
negative results, the dividend is restored by adding the divisor back in. This
iterative process continues until the quotient is fully determined.

The dividend and divisor are loaded into registers,


Initialization and the initial quotient is set to zero. The algorithm
also sets up a sign bit for the quotient.

The divisor is subtracted from the dividend. If the


Iteration result is positive, the quotient bit is set to 1. If the result
is negative, the quotient bit is set to 0.

The dividend and quotient are shifted left


Shifting
by one bit. The sign bit is also shifted left.

The algorithm continues until a pre-determined


Termination number of iterations have been completed. The
final quotient is stored in the quotient register.
Flowchart of Non-restoring Division Algorithm
EXAMPLE
Represent Numbers in Binary:
Dividend: (13)10 = (1101)2

Divisor:(3)10= (0011)2

For fixed-point division, we assume the numbers are represented with a binary point after the integer
part. For simplicity, we'll use a 4-bit binary representation here.

Initialize Variables:
Dividend (D): (1101)2

Divisor (S): (0011)2

Quotient (Q): (0000)​(initially zero)


2

Remainder (R): (0000) (initially zero)


2
Algorithm Steps:

Initial Setup:
Combine the remainder and dividend to form the initial value: R=(0000)2
and D=(1101)2
Shift left R and add the dividend: R=(1101)2

Division Iterations:

Iteration 1: Iteration 2:
Check if R(1101) is greater than or equal to S(0011) Check if R (0101) is greater than or equal to S(0011)
Since it is, subtract S from R: Since it is, subtract S from R:
R=1101−0011 R=0101−0011
=1010 =0011
Set the most significant bit of quotient (Q) to 1 (Q = 1) Set the next bit of quotient to 1 (Q = 11)

Shift R left (i.e., shift Q left): Shift R left:


R=1010 becomes 0101 after shift R=0011 becomes 0110
Q=0001 after shift Q=0011 after shift
Iteration 3: Iteration 4:
Check if R(0110) is greater than or equal to S(0011). Check if R(0110) is greater than or equal to S(0011).
Since it is, subtract S from R: Since it is, subtract S from R:
R=0110−0011 R=0110−0011
=0011 =0011
Set the next bit of quotient to 1 (Q = 111) Set the next bit of quotient to 1 (Q = 1111).

Shift R left: Shift R left:


R=0011 becomes 0110 R=0011 becomes 0110
Q=0111 after shift Q=1111 after shift

Final Correction:
After all iterations, check if R is negative.
In this example, R is positive, so no correction is needed.

Result:
Quotient (Q): (1111) (which is (4)​in decimal representation)
2 10

Remainder (R): (0110) (which is (2) in decimal representation)


2 10
ADVANTAGES OF NON-RESTORING
DIVISION
By eliminating the restoration step, the algorithm
Faster Execution: reduces the number of operations, speeding up
division.
The hardware design for non-restoring division is simpler
Simpler Hardware: and more efficient, making it easier and cheaper to
implement.
Works well with fixed-point systems, where
Efficient for Fixed-Point Arithmetic: precision and speed are critical, especially in
digital signal processing.

The simplicity of the algorithm allows for parallel


Supports Parallel
processing, improving performance in high-speed
Processing: systems.
L

Lower Resource Uses fewer computational resources, making it ideal for power-efficient
and embedded systems.
Consumption:
DISADVANTAGES OF NON-
RESTORING DIVISION
Limited Precision: Non-restoring division can introduce small errors in
low-precision fixed-point operations, making it less suitable for highly
precise calculations.
More Iterations: In some cases, the number of iterations can be greater
than in other division algorithms, slightly reducing its efficiency.
Not Ideal for All Architectures: While efficient for certain hardware
designs, it may not always be the best choice for systems with specific
architectural constraints or high floating-point accuracy requirements.
Complex Final Correction: If the final remainder is negative, an
additional correction step is required, adding complexity to the
process.
Less Suitable for Floating-Point Division: The algorithm is optimized
for fixed-point arithmetic and may not perform as well with floating-
point numbers, where precision and handling of larger ranges are
required.
IMPLEMENTATION
CONSIDERATIONS
Number Representation Overflow and Underflow

Ensure the dividend and divisor are Implement proper handling


represented in fixed-point format, for overflow (when the
where the position of the binary quotient is too large for the
point is predetermined. Consistent fixed-point representation)
scaling for both values is crucial to and underflow (when the
maintain precision throughout the divisor is too small compared
division process. to the dividend).
Bit Width Hardware vs
Software
The bit width must be carefully
In hardware implementations, ensure
selected to handle the range of
that the design accommodates fast
values involved in the division.
shifts and additions/subtractions. For
Insufficient bit width can lead to
software, performance optimizations like
overflow or underflow, while
loop unrolling or parallel processing
excessive width can waste
may be needed for efficiency.
resources.
CONCLUSION
Fixed-point division using the Non-Restoring Algorithm is a powerful technique for performing
division efficiently in digital systems. While the algorithm provides notable benefits, it also
comes with certain trade-offs. The need for a final correction step and potential issues with
precision and resource allocation must be carefully managed. Despite these challenges, the
non-restoring division algorithm remains a valuable tool in the design of high-performance
and resource-constrained systems.

In summary, the non-restoring division algorithm strikes a balance between speed, simplicity,
and efficiency, making it an effective choice for many fixed-point division tasks. Its
advantages in terms of hardware implementation and parallel processing capabilities make it
a compelling option for modern digital systems, though careful consideration is required to
address its limitations.

References : https://en.m.wikipedia.org/wiki/Division_algorithm
https://www.javatpoint.com/non-restoring-division-algorithm-for-
unsigned-integer
https://www.geeksforgeeks.org/implementation-of-non-restoring-
division-algorithm-for-unsigned-integer/
THANK
YOU!

You might also like