Arithmetic Operations


 Shona Casey
 1 years ago
 Views:
Transcription
1 Arithmetic Operations Dongbing Gu School of Computer Science and Electronic Engineering University of Essex UK Spring 2013 D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
2 Outline 1 Introduction 2 Number Representations 3 Arithmetic Operations 4 Multiplication 5 Division 6 Square Root D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
3 Introduction Number representation techniques: signed/unsigned integers, two s complement, fixed point and floating point; Arithmetic operation structures: Addition/Subtraction, Multiplication, Division and Square Root; Complex arithmetic operations; FPGA specific arithmetic: Examples of implementing addition and multiplication in a Xilinx VirtexII Pro FPGA are given. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
4 Integer Number Representations Number representation is a fundamental issue in embedded systems. A number representation is limited with finite precision. The representation must be sufficiently accurate to handle the real world input and outputs of the system. The representation must also be efficient in terms of its implementation in hardware. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
5 Unsigned Integers  Positive Values Only Unsigned integers can be used to represent nonnegative numbers. For example using 8 bits we can represent from 0 to 255: Integer Value Binary Representation D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
6 2 s Complement A more sensible number system for +ve to ve numbers is 2 s complement which has only one representation of 0 (zero): Positive Numbers Integer Binary Invert all bits and ADD 1 Negative Numbers Integer Binary The 9th bit generated for 0 can be ignored. Note that 128 can be represented but +128 cannot D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
7 NonInteger Values What about noninteger values? In DSP systems, we often want to represent signals such as this sine wave: 2 s complement is not much use, e.g. using just two bits gives values  2, 1, 0, 1 we end up with a large quantization error: Clearly what we need is a representation that can cope with noninteger values. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
8 Fixedpoint Binary Numbers We can now define what is known as a fixedpoint number: a number with a fixed position for the binary point. Bits on the left of the binary point are termed integer bits, and bits on the right of the binary point are termed fractional bits, for example: aaa.bbbbb 3 integer bits, 5 fractional bits This number behaves in a similar way to signed integers: D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
9 Fixedpoint Quantization Consider again the number format: aaa.bbbbb 3 integer bits, 5 fractional bits Numbers between 4 and can be represented, in steps of As there are 8 bits, there are 2 8 = 256 different values. Revisiting our sine wave example, using this fixedpoint format: Looks much better. We must always take into account the quantization when using fixed point  it will be +/ 1/2 of the LSB (least significant bit). D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
10 Truncation In binary, truncation is the process of simply removing bits. This is usually done in a constrained way to convert from a larger to a smaller binary wordlength; Usually truncation is performed on least significant bits (LSBs): The net effect is that we lose precision. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
11 Rounding Rounding is a more accurate, but more complicated technique that requires an addition operation than the truncation. This process is equivalent to the technique for decimal rounding, i.e. to go from 7.89 to one decimal place is accomplished by adding 0.05 then truncating to 7.9. Note that rounding is not free it requires one extra full adder. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
12 Addition A couple of examples of integer arithmetic: The most important point to note is that when a binary addition is performed, the interpretation of the binary strings as either unsigned integers or 2 s complement integers is valid  the additions are correct either way. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
13 Overflow An example of an addition which overflows: The result requires 9 bits from two 8bit operands. If the ninth bit isn t present, the result becomes = 31, which is incorrect. Overflow has occurred. It is often not acceptable to allow the output width to grow as in the example above. For example, a filter with 128 unit weights has 128 consecutive additions and therefore potentially requires 7 extra bits at the output. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
14 Negative overflow We can get negative overflows as well: In this case, we lose the 9th bit (red) and the result wraps round to positive values: = 47. The solution to overflow, both negative and positive, is to ensure that the results of operations will not exceed a certain predefined number of bits. For example, with 8 bit operands, we might allow 16 bits, regardless of how many consecutive additions we perform. This can be difficult to achieve in practice, so overflow is a problem. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
15 Saturation One method to reduce the effects of overflow is to use a technique known as saturation: When overflow is detected, the result is set to the largest possible value. Generally available in DSP processors  could be done on FPGA but requires additional logic. Very useful technique for dealing with the potential for overflow in, e.g., adaptive filtering algorithms. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
16 Xilinx VirtexII Pro addition D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
17 Fixed point addition First some examples of decimal noninteger addition: Now in fixed point binary (4 bits integer, 3 bits fractional): Note that for large operands, an extra bit may be required. Care must be taken to interpret the binary point  it must stay in the same location w.r.t. the LSB  this means a change of location w.r.t. the MSB. Subtraction follows the same binary arithmetic as for integers. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
18 Multiplication in decimal Starting with an example in decimal: Note that we do = 1070 and then add to it the result of = 856 rightshifted by one column. For each additional column in the second operand, we shift the multiplication of that column with the first operand by another place. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
19 Structure for multiplication This example shows a fourbit multiplication: The AND gate connected to a and b performs the selection for each bit. The diagonal structure of the multiplier effectively inserts zeros in the appropriate columns and shifts the operands right. Note that this structure is not for signed 2 s complement (needs modified)! D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
20 Xilinx VirtexII Pro Slice multiplication D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
21 Xilinx VirtexII Pro multiplication As we can do one bit of a multiply in a slice, we can do an Nbit by 2bit multiply in N/2 slices. In the example above, we have 4bit by 2bit in 2 slices. Perhaps the most important thing to note is that this is very complicated! Tools are designed to automate the process of connecting the components within a slice in order to perform efficient operations. But it is important to note that the tools aren t infinitely clever, and sometimes we need to bear in mind the structure of the FPGA in order to generate an efficient design. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
22 ROMbased multipliers Consider a ROM multiplier with 8 bit inputs: 65,536 8bit locations are required. If input B is constant and B=k only 256 locations are accessed. This constitutes a Constant Coefficient Multiplier (KCM). D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
23 2 s complement multiplication For one negative and one positive operand just remember to sign extend the negative operand. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
24 2s complement multiplication For both operands negative, subtract the last partial product. We use the trick of inverting (negating and adding 1) the last partial product and adding it rather than subtracting. Of course, if both operands are positive, just use the unsigned technique! D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
25 Fixed Point multiplication Fixed point multiplication is no more awkward than integer multiplication. Again we just need to remember to interpret the position of the binary point correctly D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
26 Onchip multipliers Many Xilinx FPGAs have various numbers of onchip multipliers (from 4 to more than 500). These are in hardware on the ASIC, not actually in the user FPGA area, and therefore are permanently available, and they use no slices. They also consume less power than a slicebased equivalent. A and B are 18bit input operands, and P is the 36bit product. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
27 Division A binary division example is given below. Note that each stage computes an addition or subtraction of the divisor A. The quotient is made up of the carry bits from each addition/subtraction. If the quotient bit is a 0, the next computation is an addition, and if it is a 1, the divisor is subtracted. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
28 Division 6 bit nonrestoring division array: Note that each cell can perform either addition or subtraction as shown in an earlier slide either S in + B in or S in B in can be selected. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
29 The Problem With Division An important aspect of division is to note that the quotient is generated MSB first  unlike multiplication or addition/subtraction! This has implications for the rest of the system. It is unlikely that the quotient can be passed on to the next stage until all the bits are computed  hence slowing down the system! Also, an N by N array has another problem  ripple through adders. Note that we must wait for N full adder delays before the next row can begin its calculations. Unlike multiplication there is no way around this, and as result division is always slower than multiply even when performed on a parallel array  a N by N multiply will run faster than a N by N divide! D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
30 Pipelining The Division Array The division array shown earlier can be pipelined to increase throughput. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
31 Square Root 6 bit nonrestoring square root array: D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
32 Square Root  An Alternative Approach Unfortunately the square root algorithm suffers from the same problems as division although not to the same extent. These are: The result is generated MSB first. Each row has to wait longer and longer for the data it needs from the previous row. A solution is to use memory to store the precomputed square root values. The input is then used as an address to look up the answer. This can be fast but if the input wordlength is large this approach quickly becomes unfeasible. Another approach is to use memory to look up a partial solution and then use an iterative approach like the NewtonRaphson algorithm to find the final solution. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
33 Square Root and Divide  Pythagoras The main appearance of square roots and divides is in advanced adaptive algorithms such as QR using given rotations. For these techniques we often find equations of the form: cos(θ) = x x 2 + y 2 and sin(θ) = y x 2 + y 2 So in fact we actually have to perform two squares, a divide and a square root. (Note that squaring is simpler than multiply!). There are a number of iterative techniques that can be used to calculate square root. (However these routines invariably require multiplies and divides and do not converge in a fixed time.) D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
34 Conclusions Number representation techniques have been presented. Different methods, their advantages and disadvantages have been introduced; Basic and advanced operations and their implementation in hardware were reviewed; Special attention has been paid to highly effective implementation of addition and multiplication in Xilinx VirtexII Pro FPGAs; A current generation of DSP algorithms and architectures (QR, least squares, MIMOs) require square root and divide calculations  hence knowledge and support of how to derive these is very important. D. Gu (Univ. of Essex) Arithmetic Operations Spring / 34
Binary Division. Decimal Division. Hardware for Binary Division. Simple 16bit Divider Circuit
Decimal Division Remember 4th grade long division? 43 // quotient 12 521 // divisor dividend 480 4136 5 // remainder Shift divisor left (multiply by 10) until MSB lines up with dividend s Repeat until
More informationFixedPoint Arithmetic
FixedPoint Arithmetic FixedPoint Notation A Kbit fixedpoint number can be interpreted as either: an integer (i.e., 20645) a fractional number (i.e., 0.75) 2 1 Integer FixedPoint Representation Nbit
More informationComputer Organization and Architecture
Computer Organization and Architecture Chapter 9 Computer Arithmetic Arithmetic & Logic Unit Performs arithmetic and logic operations on data everything that we think of as computing. Everything else in
More informationChapter 4. Computer Arithmetic
Chapter 4 Computer Arithmetic 4.1 Number Systems A number system uses a specific radix (base). Radices that are power of 2 are widely used in digital systems. These radices include binary (base 2), quaternary
More informationData Representation Binary Numbers
Data Representation Binary Numbers Integer Conversion Between Decimal and Binary Bases Task accomplished by Repeated division of decimal number by 2 (integer part of decimal number) Repeated multiplication
More informationInteger multiplication
Integer multiplication Suppose we have two unsigned integers, A and B, and we wish to compute their product. Let A be the multiplicand and B the multiplier: A n 1... A 1 A 0 multiplicand B n 1... B 1 B
More informationBy the end of the lecture, you should be able to:
Extra Lecture: Number Systems Objectives  To understand: Base of number systems: decimal, binary, octal and hexadecimal Textual information stored as ASCII Binary addition/subtraction, multiplication
More informationQuiz for Chapter 3 Arithmetic for Computers 3.10
Date: Quiz for Chapter 3 Arithmetic for Computers 3.10 Not all questions are of equal difficulty. Please review the entire quiz first and then budget your time carefully. Name: Course: Solutions in RED
More informationCOMPUTER ARCHITECTURE IT0205
COMPUTER ARCHITECTURE IT0205 M.Thenmozhi/Kayalvizhi Jayavel/M.B.Panbu Asst.Prof.(Sr.G)/Asst.Prof.(Sr.G)/Asst.Prof.(O.G) Department of IT SRM University, Kattankulathur 1 Disclaimer The contents of the
More informationHere 4 is the least significant digit (LSD) and 2 is the most significant digit (MSD).
Number System Introduction Number systems provide the basis for all operations in information processing systems. In a number system the information is divided into a group of symbols; for example, 26
More informationIntroduction to Xilinx System Generator Part II. Evan Everett and Michael Wu ELEC 433  Spring 2013
Introduction to Xilinx System Generator Part II Evan Everett and Michael Wu ELEC 433  Spring 2013 Outline Introduction to FPGAs and Xilinx System Generator System Generator basics Fixed point data representation
More informationDigital Logic. The Binary System is a way of writing numbers using only the digits 0 and 1. This is the method used by the (digital) computer.
Digital Logic 1 Data Representations 1.1 The Binary System The Binary System is a way of writing numbers using only the digits 0 and 1. This is the method used by the (digital) computer. The system we
More informationLecture 8: Binary Multiplication & Division
Lecture 8: Binary Multiplication & Division Today s topics: Addition/Subtraction Multiplication Division Reminder: get started early on assignment 3 1 2 s Complement Signed Numbers two = 0 ten 0001 two
More informationFixedpoint Representation of Numbers
Fixedpoint Representation of Numbers Fixed Point Representation of Numbers Signandmagnitude representation Two s complement representation Two s complement binary arithmetic Excess code representation
More informationChapter 6 Digital Arithmetic: Operations & Circuits
Chapter 6 Digital Arithmetic: Operations & Circuits Chapter 6 Objectives Selected areas covered in this chapter: Binary addition, subtraction, multiplication, division. Differences between binary addition
More informationBinary Representation and Computer Arithmetic
Binary Representation and Computer Arithmetic The decimal system of counting and keeping track of items was first created by Hindu mathematicians in India in A.D. 4. Since it involved the use of fingers
More informationInteger Numbers. Digital Signal Processor Data Path. Characteristics of Two Complements Representation. Integer Three Bit Representation 000
Integer Numbers Twos Complement Representation Digital Signal Processor Data Path Ingo Sander Ingo@imit.kth.se B=b N1 b N2...b 1 b 0 where b i {0,1} b N1 b N2... b 1 b 0 Sign Bit Decimal Value D(B)=b
More information1 Number System (Lecture 1 and 2 supplement)
1 Number System (Lecture 1 and 2 supplement) By Dr. Taek Kwon Many different number systems perhaps from the prehistoric era have been developed and evolved. Among them, binary number system is one of
More informationIntroduction Number Systems and Conversion
UNIT 1 Introduction Number Systems and Conversion Objectives 1. Introduction The first part of this unit introduces the material to be studied later. In addition to getting an overview of the material
More informationDecimaltoBinary Conversion. Computer & Microprocessor Architecture HCA103. Repeated Divisionby2 Method. Repeated Multiplicationby2 Method
DecimaltoBinary Conversion Computer & Microprocessor Architecture HCA103 Computer Arithmetic Algorithm 1 Step 1: Break the number in two parts: Whole number and fraction part. Step 2: Repeated Divisionby2
More informationD r = d p1 d p2.. d 1 d 0.d 1 d 2. D n. EECC341  Shaaban
Positional Number Systems A number system consists of an order set of symbols (digits) with relations defined for +,,*, / The radix (or base) of the number system is the total number of digits allowed
More informationThis Unit: Floating Point Arithmetic. CIS 371 Computer Organization and Design. Readings. Floating Point (FP) Numbers
This Unit: Floating Point Arithmetic CIS 371 Computer Organization and Design Unit 7: Floating Point App App App System software Mem CPU I/O Formats Precision and range IEEE 754 standard Operations Addition
More informationA New NonRestoring Square Root Algorithm and Its VLSI Implementations
International Conference on Computer Design (ICCD 96), October 7 9, 996, Austin, Texas, USA A New NonRestoring Square Root Algorithm and Its VLSI Implementations Yamin Li and Wanming Chu Computer Architecture
More informationLecture 7: Signed Numbers & Arithmetic Circuits. BCD (Binary Coded Decimal) Points Addressed in this Lecture
Points ddressed in this Lecture Lecture 7: Signed Numbers rithmetic Circuits Professor Peter Cheung Department of EEE, Imperial College London (Floyd 2.52.7, 6.16.7) (Tocci 6.16.11, 9.19.2, 9.4) Representing
More informationLecture 2. Binary and Hexadecimal Numbers
Lecture 2 Binary and Hexadecimal Numbers Purpose: Review binary and hexadecimal number representations Convert directly from one base to another base Review addition and subtraction in binary representations
More informationComputer Science 281 Binary and Hexadecimal Review
Computer Science 281 Binary and Hexadecimal Review 1 The Binary Number System Computers store everything, both instructions and data, by using many, many transistors, each of which can be in one of two
More information198:211 Computer Architecture
198:211 Computer Architecture Topics: Lecture 8 & 9 Fall 2012 Integer Arithmetic Chapter 2.3 Overflow Integer Multiplication and Division Integer Arithmetic In a computer, all numbers are represented with
More informationBinary Adders: Half Adders and Full Adders
Binary Adders: Half Adders and Full Adders In this set of slides, we present the two basic types of adders: 1. Half adders, and 2. Full adders. Each type of adder functions to add two binary bits. In order
More informationNumber Representation
Number Representation COMP375 Computer Organization and darchitecture t How do we represent data in a computer? At the lowest level, a computer is an electronic machine. works by controlling the flow of
More informationCPE 323 Data Types and Number Representations
CPE 323 Data Types and Number Representations Aleksandar Milenkovic Numeral Systems: Decimal, binary, hexadecimal, and octal We ordinarily represent numbers using decimal numeral system that has 10 as
More informationInteger Numbers. The Number Bases of Integers Textbook Chapter 3
Integer Numbers The Number Bases of Integers Textbook Chapter 3 Number Systems Unary, or marks: /////// = 7 /////// + ////// = ///////////// Grouping lead to Roman Numerals: VII + V = VVII = XII Better:
More informationArithmetic Processing. Basic Fixed Point NRS. Number Representation. Digit Values. Rule of Interpretation CS/EE 5830/6830 VLSI ARCHITECTURE
CS/EE 5830/6830 VLSI ARCHITECTURE Chapter 1 Basic Number Representations and Arithmetic Algorithms Arithmetic Processing AP = (operands, operation, results, conditions, singularities) Operands are: Set
More informationFloating Point Numbers. Question. Learning Outcomes. Number Representation  recap. Do you have your laptop here?
Question Floating Point Numbers 6.626068 x 1034 Do you have your laptop here? A yes B no C what s a laptop D where is here? E none of the above Eddie Edwards eedwards@doc.ic.ac.uk https://www.doc.ic.ac.uk/~eedwards/compsys
More informationNumeral System and Its Importance ROOM: B405
Numeral System and Its Importance HONG@IS.NAIST.JP ROOM: B405 Contents Number System Introduction Number systems used by human Number systems used by computer Number System Conversion Signed Number Representation
More informationTECH. Arithmetic & Logic Unit. CH09 Computer Arithmetic. Number Systems. ALU Inputs and Outputs. Binary Number System
CH09 Computer Arithmetic CPU combines of ALU and Control Unit, this chapter discusses ALU The Arithmetic and Logic Unit (ALU) Number Systems Integer Representation Integer Arithmetic FloatingPoint Representation
More informationCHAPTER THREE. 3.1 Binary Addition. Binary Math and Signed Representations
CHAPTER THREE Binary Math and Signed Representations Representing numbers with bits is one thing. Doing something with them is an entirely different matter. This chapter discusses some of the basic mathematical
More informationLogic and Computer Design Fundamentals Adders and Multiplication
Logic and Computer Design Fundamentals Adders and Multiplication 24 Pearson Education, Inc. Overview Iterative combinational circuits Binary adders Half and full adders Ripple carry and carry lookahead
More informationArithmetic Circuits Addition, Subtraction, & Multiplication
Arithmetic Circuits Addition, Subtraction, & Multiplication The adder is another classic design example which we are obliged look at. Simple decimal arithmetic is something which we rarely give a second
More informationBinary Numbers Again. Binary Arithmetic, Subtraction. Binary, Decimal addition
Binary Numbers Again Recall than N binary digits (N bits) can represent unsigned integers from 0 to 2 N 1. 4 bits = 0 to 15 8 bits = 0 to 255 16 bits = 0 to 65535 Besides simply representation, we would
More informationDivide: Paper & Pencil. Computer Architecture ALU Design : Division and Floating Point. Divide algorithm. DIVIDE HARDWARE Version 1
Divide: Paper & Pencil Computer Architecture ALU Design : Division and Floating Point 1001 Quotient Divisor 1000 1001010 Dividend 1000 10 101 1010 1000 10 (or Modulo result) See how big a number can be
More informationReview of Number Systems Binary, Octal, and Hexadecimal Numbers and Two's Complement
Review of Number Systems Binary, Octal, and Hexadecimal Numbers and Two's Complement Topic 1: Binary, Octal, and Hexadecimal Numbers The number system we generally use in our everyday lives is a decimal
More informationFixedPoint Arithmetic in Impulse C
Application Note FixedPoint Arithmetic in Impulse C Ralph Bodenner, Senior Applications Engineer Impulse Accelerated Technologies, Inc. Copyright 2005 Impulse Accelerated Technologies, Inc. Overview This
More informationNUMBERING SYSTEMS C HAPTER 1.0 INTRODUCTION 1.1 A REVIEW OF THE DECIMAL SYSTEM 1.2 BINARY NUMBERING SYSTEM
12 Digital Principles Switching Theory C HAPTER 1 NUMBERING SYSTEMS 1.0 INTRODUCTION Inside today s computers, data is represented as 1 s and 0 s. These 1 s and 0 s might be stored magnetically on a disk,
More informationSimulation & Synthesis Using VHDL
Floating Point Multipliers: Simulation & Synthesis Using VHDL By: Raj Kumar Singh  B.E. (Hons.) Electrical & Electronics Shivananda Reddy  B.E. (Hons.) Electrical & Electronics BITS, PILANI Outline Introduction
More informationPresented By: Ms. Poonam Anand
Presented By: Ms. Poonam Anand Know the different types of numbers Describe positional notation Convert numbers in other bases to base 10 Convert base 10 numbers into numbers of other bases Describe the
More informationSwitching Circuits & Logic Design
Switching Circuits & Logic Design JieHong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Fall 2013 1 1 Number Systems and Conversion Babylonian number system (3100 B.C.)
More informationArithmetic. Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University. See P&H 2.4 (signed), 2.5, 2.6, C.6, and Appendix C.
Arithmetic Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See P&H 2.4 (signed), 2.5, 2.6, C.6, and Appendix C.6 Goals for today Binary (Arithmetic) Operations Onebit and fourbit
More informationToday. Binary addition Representing negative numbers. Andrew H. Fagg: Embedded Real Time Systems: Binary Arithmetic
Today Binary addition Representing negative numbers 2 Binary Addition Consider the following binary numbers: 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 1 How do we add these numbers? 3 Binary Addition 0 0 1 0 0 1 1
More informationCDA 3200 Digital Systems. Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012
CDA 3200 Digital Systems Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012 Outline Data Representation Binary Codes Why 6311 and Excess3? Data Representation (1/2) Each numbering
More informationBits, Data Types, and Operations. University of Texas at Austin CS310H  Computer Organization Spring 2010 Don Fussell
Bits, Data Types, and Operations University of Texas at Austin CS3H  Computer Organization Spring 2 Don Fussell How do we represent data in a computer? At the lowest level, a computer is an electronic
More informationChapter 4. Arithmetic for Computers
Chapter 4 Arithmetic for Computers Arithmetic Where we've been: Performance (seconds, cycles, instructions) What's up ahead: Implementing the Architecture operation a b 32 32 ALU 32 result 2 Constructing
More informationDesign of the ALU Adder, Logic, and the Control Unit
Design of the ALU Adder, Logic, and the Control Unit This lecture will finish our look at the CPU and ALU of the computer. Remember: 1. The ALU performs the arithmetic and logic operations. 2. The control
More informationThe string of digits 101101 in the binary number system represents the quantity
Data Representation Section 3.1 Data Types Registers contain either data or control information Control information is a bit or group of bits used to specify the sequence of command signals needed for
More informationNumbers represented using groups of bits (1s and 0s) are said to be BINARY NUMBERS. Binary numbers are said to be in base 2.
DATA REPRESENTATION All data used by computers is in code form, based on the two digits 0 and 1. This is so, in order to reflect the twostate components of which these digital systems are made. Numbers
More informationInteger and Real Numbers Representation in Microprocessor Techniques
Brno University of Technology Integer and Real Numbers Representation in Microprocessor Techniques Microprocessor Techniques and Embedded Systems Lecture 1 Dr. Tomas Fryza 30Sep2011 Contents Numerical
More informationThis 3digit ASCII string could also be calculated as n = (Data[2]0x30) +10*((Data[1]0x30)+10*(Data[0]0x30));
Introduction to Embedded Microcomputer Systems Lecture 5.1 2.9. Conversions ASCII to binary n = 100*(Data[0]0x30) + 10*(Data[1]0x30) + (Data[2]0x30); This 3digit ASCII string could also be calculated
More informationCOMPUTER ARCHITECTURE. ALU (2)  Integer Arithmetic
HUMBOLDTUNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK COMPUTER ARCHITECTURE Lecture 11 ALU (2)  Integer Arithmetic Sommersemester 21 Leitung: Prof. Dr. Miroslaw Malek www.informatik.huberlin.de/rok/ca
More informationImplementation of Modified Booth Algorithm (Radix 4) and its Comparison with Booth Algorithm (Radix2)
Advance in Electronic and Electric Engineering. ISSN 22311297, Volume 3, Number 6 (2013), pp. 683690 Research India Publications http://www.ripublication.com/aeee.htm Implementation of Modified Booth
More informationFixedpoint Mathematics
Appendix A Fixedpoint Mathematics In this appendix, we will introduce the notation and operations that we use for fixedpoint mathematics. For some platforms, e.g., lowcost mobile phones, fixedpoint
More information1 Basic Computing Concepts (4) Data Representations
1 Basic Computing Concepts (4) Data Representations The Binary System The Binary System is a way of writing numbers using only the digits 0 and 1. This is the method used by the (digital) computer. The
More information16Tap, 8Bit FIR Filter Applications Guide
16Tap, 8Bit FIR Filter Applications Guide November 21, 1994 Application Note BY G GOSLIN & BRUCE NEWGARD Summary This application note describes the functionality and integration of a 16Tap, 8Bit Finite
More informationNumber Systems and. Data Representation
Number Systems and Data Representation 1 Lecture Outline Number Systems Binary, Octal, Hexadecimal Representation of characters using codes Representation of Numbers Integer, Floating Point, Binary Coded
More informationBinary Numbering Systems
Binary Numbering Systems April 1997, ver. 1 Application Note 83 Introduction Binary numbering systems are used in virtually all digital systems, including digital signal processing (DSP), networking, and
More informationDigital Electronics. 1.0 Introduction to Number Systems. Module
Module 1 www.learnaboutelectronics.org Digital Electronics 1.0 Introduction to What you ll learn in Module 1 Section 1.0. Recognise different number systems and their uses. Section 1.1 in Electronics.
More informationBINARYCODED DECIMAL (BCD)
BINARYCODED DECIMAL (BCD) Definition The binarycoded decimal (BCD) is an encoding for decimal numbers in which each digit is represented by its own binary sequence. Basics In computing and electronic
More informationUnit 2: Number Systems, Codes and Logic Functions
Unit 2: Number Systems, Codes and Logic Functions Introduction A digital computer manipulates discrete elements of data and that these elements are represented in the binary forms. Operands used for calculations
More informationChapter II Binary Data Representation
Chapter II Binary Data Representation The atomic unit of data in computer systems is the bit, which is actually an acronym that stands for BInary digit. It can hold only 2 values or states: 0 or 1, true
More informationRecall that in base 10, the digits of a number are just coefficients of powers of the base (10):
Binary Number System 1 Base 10 digits: 0 1 2 3 4 5 6 7 8 9 Base 2 digits: 0 1 Recall that in base 10, the digits of a number are just coefficients of powers of the base (10): 417 = 4 * 10 2 + 1 * 10 1
More information1. Number Representation
CSEE 3827: Fundamentals of Computer Systems, Spring 2011 1. Number Representation Prof. Martha Kim (martha@cs.columbia.edu) Web: http://www.cs.columbia.edu/~martha/courses/3827/sp11/ Contents (H&H 1.31.4,
More informationUNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering. Digital Computer Arithmetic ECE 666
UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Digital Computer Arithmetic ECE 666 Part 3 Sequential Algorithms for Multiplication and Division Israel Koren ECE666/Koren Part.3.1
More informationB.1 DIVISION FUNDAMENTALS
Division Exceptions B B.1 DIVISION FUNDAMENTALS The ADSP2100 family processors instruction set contains two instructions for implementing a nonrestoring divide algorithm. These instructions take as their
More informationVerilog Review and Fixed Point Arithmetics. Overview
Verilog Review and Fixed Point Arithmetics CSE4210 Winter 2012 Mokhtar Aboelaze based on slides by Dr. Shoab A. Khan Overview Floating and Fixed Point Arithmetic System Design Flow Requirements and Specifications
More informationSigned integers: 2 s complement. Sign extension. Using Signed Arithmetic in Verilog 42 = = Arithmetic Circuits & Multipliers
Signed integers: 2 s complement N bits 2 N 2 N2 2 3 2 2 2 2 Arithmetic Circuits & Multipliers Addition, subtraction Performance issues  ripple carry  carry bypass  carry skip  carry lookahead
More informationLecture 2: Number System
Lecture 2: Number System Today s Topics Review binary and hexadecimal number representation Convert directly from one base to another base Review addition and subtraction in binary representation Determine
More informationAn Efficient RNS to Binary Converter Using the Moduli Set {2n + 1, 2n, 2n 1}
An Efficient RNS to Binary Converter Using the oduli Set {n + 1, n, n 1} Kazeem Alagbe Gbolagade 1,, ember, IEEE and Sorin Dan Cotofana 1, Senior ember IEEE, 1. Computer Engineering Laboratory, Delft University
More informationLMS is a simple but powerful algorithm and can be implemented to take advantage of the Lattice FPGA architecture.
February 2012 Introduction Reference Design RD1031 Adaptive algorithms have become a mainstay in DSP. They are used in wide ranging applications including wireless channel estimation, radar guidance systems,
More informationFractions and the Real Numbers
Fractions and the Real Numbers Many interesting quantities are not normally integervalued:  the mass of a rocket payload  the batting average of a baseball player  the average score on an assignment
More informationChapter 2: Number Systems
Chapter 2: Number Systems Logic circuits are used to generate and transmit 1s and 0s to compute and convey information. This twovalued number system is called binary. As presented earlier, there are many
More informationBinary Number System. 16. Binary Numbers. Base 10 digits: 0 1 2 3 4 5 6 7 8 9. Base 2 digits: 0 1
Binary Number System 1 Base 10 digits: 0 1 2 3 4 5 6 7 8 9 Base 2 digits: 0 1 Recall that in base 10, the digits of a number are just coefficients of powers of the base (10): 417 = 4 * 10 2 + 1 * 10 1
More informationData Storage 3.1. Foundations of Computer Science Cengage Learning
3 Data Storage 3.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: List five different data types used in a computer. Describe how
More informationInteger Multiplication and Division
6 Integer Multiplication and Division 6.1 Objectives After completing this lab, you will: Understand binary multiplication and division Understand the MIPS multiply and divide instructions Write MIPS programs
More informationCSc 28 Data representation. CSc 28 Fall
CSc 28 Data representation 1 Binary numbers Binary number is simply a number comprised of only 0's and 1's. Computers use binary numbers because it's easy for them to communicate using electrical current
More informationSquare roots by subtraction
Square roots by subtraction Frazer Jarvis When I was at school, my mathematics teacher showed me the following very strange method to work out square roots, using only subtraction, which is apparently
More informationDigital Arithmetic. Digital Arithmetic: Operations and Circuits Dr. Farahmand
Digital Arithmetic Digital Arithmetic: Operations and Circuits Dr. Farahmand Binary Arithmetic Digital circuits are frequently used for arithmetic operations Fundamental arithmetic operations on binary
More informationTwo s Complement Arithmetic
Two s Complement Arithmetic We now address the issue of representing integers as binary strings in a computer. There are four formats that have been used in the past; only one is of interest to us. The
More informationMT1 Number Systems. In general, the number a 3 a 2 a 1 a 0 in a base b number system represents the following number:
MT1 Number Systems MT1.1 Introduction A number system is a well defined structured way of representing or expressing numbers as a combination of the elements of a finite set of mathematical symbols (i.e.,
More informationFloating Point Engine using VHDL
Floating Point Engine using VHDL Najib Ghatte #1, Shilpa Patil #2, Deepak Bhoir #3 Fr. Conceicao Rodrigues College of Engineering Fr. Agnel Ashram, Bandstand, Bandra (W), Mumbai: 400 050, India Abstract
More informationBinary Multiplication. CMPE 325 Computer Architecture II. Implementing Multiplication. Multiplication. Solution #1. Solution #1: Operations
CMPE 5 Computer Architecture II Cem Ergün Eastern Mediterranean University Binary Multiplication At each step we multiply the multiplicand by a single digit from the multiplier. In binary, we multiply
More informationComputer is a binary digital system. Data. Unsigned Integers (cont.) Unsigned Integers. Binary (base two) system: Has two states: 0 and 1
Computer Programming Programming Language Is telling the computer how to do something Wikipedia Definition: Applies specific programming languages to solve specific computational problems with solutions
More informationFPGA FixedPoint Math Library User Guide
Contents 1. Overview DISCLAIMER: National Instruments does not support the FPGA FixedPoint Math Library. The library is an internal product, so you are using the library at your own risk. 2. Common Characteristics
More information1 / 40. Data Representation. January 9 14, 2013
1 / 40 Data Representation January 9 14, 2013 Quick logistical notes In class exercises Bring paper and pencil (or laptop) to each lecture! Goals: break up lectures, keep you engaged chance to work through
More informationSolution for Homework 2
Solution for Homework 2 Problem 1 a. What is the minimum number of bits that are required to uniquely represent the characters of English alphabet? (Consider upper case characters alone) The number of
More informationCHAPTER 1 BINARY SYSTEM
STUDENT COPY DIGITAL & MICROPROCESSORS 3 CHAPTER 1 BINARY SYSTEM Base Conversion: A number a n, a n 1 a 2, a 1 a 0 a 1 a 2 a 3 expressed in a base r system has coefficient multiplied by powers of r. n
More informationCOMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012
Binary numbers The reason humans represent numbers using decimal (the ten digits from 0,1,... 9) is that we have ten fingers. There is no other reason than that. There is nothing special otherwise about
More informationCHAPTER 2 Data Representation in Computer Systems
CHAPTER 2 Data Representation in Computer Systems 2.1 Introduction 47 2.2 Positional Numbering Systems 48 2.3 Converting Between Bases 48 2.3.1 Converting Unsigned Whole Numbers 49 2.3.2 Converting Fractions
More information198:211 Computer Architecture
198:211 Computer Architecture Topics: Lecture 8 (W5) Fall 2012 Data representation 2.1 and 2.2 of the book Floating point 2.4 of the book 1 Computer Architecture What do computers do? Manipulate stored
More informationA Short Introduction to Binary Numbers
A Short Introduction to Binary Numbers Brian J. Shelburne Department of Mathematics and Computer Science Wittenberg University 0. Introduction The development of the computer was driven by the need to
More informationFloatingpoint computation
Real values and floating point values Floatingpoint representation IEEE 754 standard representation rounding special values Floatingpoint computation 1 Real values Not all values can be represented exactly
More informationCSCI 230 Class Notes Binary Number Representations and Arithmetic
CSCI 230 Class otes Binary umber Representations and Arithmetic Mihran Tuceryan with some modifications by Snehasis Mukhopadhyay Jan 22, 1999 1 Decimal otation What does it mean when we write 495? How
More informationUseful Number Systems
Useful Number Systems Decimal Base = 10 Digit Set = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Binary Base = 2 Digit Set = {0, 1} Octal Base = 8 = 2 3 Digit Set = {0, 1, 2, 3, 4, 5, 6, 7} Hexadecimal Base = 16 = 2
More information