- 202 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about 'Arithmetic' - Pat_Xavi

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Overview

- Number representations
- Overflows
- Floating point numbers
- Arithmetic logic units

Unsigned Numbers

- 32 bits are available
- Range 0..232 -1
- 11012 = 23+22+20 = 1310
- Upper bound 232 –1 = 4 294 967 295

Signed Numbers

- Sign-magnitude representation
- MSB represents sign, 31bits for magnitude
- One’s complement
- Use 0..231-1 for non-negative range
- Invert all bits for negative numbers
- Two’s complement
- Same as one’s complement except
- negative numbers are obtained by inverting all bits and adding 1

Advantages and Disadvantages

- sign-magnitude representation
- one’s complement representation
- two’s complement representation

Two’s complement

- The unsigned sum of an n-bit number its negative yields?
- Example with 3 bits:
- 0112
- 1012
- 10002 = 2n => negate(x) = 2n-x
- Explain one’s complement

MIPS 32bit signed numbers

0000 0000 0000 0000 0000 0000 0000 0000two = 0ten

0000 0000 0000 0000 0000 0000 0000 0001two = +1ten

0000 0000 0000 0000 0000 0000 0000 0010two = +2ten

...

0111 1111 1111 1111 1111 1111 1111 1110two = +2,147,483,646ten

0111 1111 1111 1111 1111 1111 1111 1111two = +2,147,483,647ten

1000 0000 0000 0000 0000 0000 0000 0000two = –2,147,483,648ten

1000 0000 0000 0000 0000 0000 0000 0001two = –2,147,483,647ten

1000 0000 0000 0000 0000 0000 0000 0010two = –2,147,483,646ten

...

1111 1111 1111 1111 1111 1111 1111 1101two = –3ten

1111 1111 1111 1111 1111 1111 1111 1110two = –2ten

1111 1111 1111 1111 1111 1111 1111 1111two = –1ten

Conversions

How do you convert an n-bit number

into a 2n-bit number?

(Assume two’s complement representation)

Conversions

- Suppose that you have 3bit two’s complement number
- 1012 = -3
- Convert into a 6bit two’s complement number
- 1111012 = -3
- Replicate most significant bit!

Comparisons for [un]signed

- Register $s0
- 1111 1111 1111 1111 1111 1111 1111 1111
- Register $s1
- 0000 0000 0000 0000 0000 0000 0000 0001
- Compare registers (set less than)
- slt $t0, $s0, $s1 yes, since –1 < 1
- sltu $t1, $s0, $s1 no, since 232-1>1

Addition & Subtraction

- Just like in grade school (carry/borrow 1s)0111 0111 0110+ 0110 - 0110 - 0101
- Two's complement operations easy
- subtraction using addition of negative numbers0111 + 1010

Overflow

Overflow means that the result is too large for

a finite computer word

- for example, adding two n-bit numbers does not yield an n-bit number0111 + 0001

1000

- the term overflow is somewhat misleading

Detecting Overflow

- No overflow when adding a positive and a negative number
- No overflow when signs are the same for subtraction
- Overflow occurs when the value affects the sign:
- overflow when adding two positives yields a negative
- or, adding two negatives gives a positive
- or, subtract a negative from a positive and get a negative
- or, subtract a positive from a negative and get a positive

Effects of Overflow

- An exception (interrupt) occurs
- Control jumps to predefined address for exception
- Interrupted address is saved for possible resumption
- Don't always want to detect overflow
- MIPS instructions: addu, addiu, subunote: addiu still sign-extends!

What next?

- More MIPS assembly operations
- How does an ALU work?
- Simple digital logic design
- How can we speed-up addition?
- What about multiplication?

Download Presentation

Connecting to Server..