EECS Instructional Account

2008-07-27 08:45:20 UTC

I am slightly confused as to what exactly the addition and subtraction

functions of the ALU are supposed to do, and how they relate to signed and

unsigned overflow.

1. Do the add and subtract functions of the ALU (select 010 and 011) treat

the two 16-bit inputs as sign-magnitude numbers, or as simple binary

numbers (ie. what should be the result output)? For example, if I add

100...001 and 000...001 should I get 000...000 or 100...010 as the result?

Consequently, should we be able to represent negative numbers in the

result or not?

2. What exactly is signed overflow? Is it simply an indicator that goes

high when the resulting number can no longer be represented in 16-bit

sign-magnitude form?

Sorry if these questions are kind of elementary, the homework

specification and the lecture slides didn't exactly talk about this in too

much detail.

Rohit

functions of the ALU are supposed to do, and how they relate to signed and

unsigned overflow.

1. Do the add and subtract functions of the ALU (select 010 and 011) treat

the two 16-bit inputs as sign-magnitude numbers, or as simple binary

numbers (ie. what should be the result output)? For example, if I add

100...001 and 000...001 should I get 000...000 or 100...010 as the result?

Consequently, should we be able to represent negative numbers in the

result or not?

2. What exactly is signed overflow? Is it simply an indicator that goes

high when the resulting number can no longer be represented in 16-bit

sign-magnitude form?

Sorry if these questions are kind of elementary, the homework

specification and the lecture slides didn't exactly talk about this in too

much detail.

Rohit